Загрузка CPU через PowerShell

 PowerShell, Windows  Комментарии выключены
Фев 032012
 
PowerShell

Продолжаем разговор про PowerShell

Наверное это самая распространенная команда на PowerShell

Get-Process

Результатом будет:

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
     72       8     1180         52    42     0,02   1548 armsvc
   1968      10     2248       2592    64     4,92   1104 atieclxx
    118       7     1436        988    33     0,06    816 atiesrxx

Как мы видим, она показывает список процессов в системе, но вот досада, она не показывает загрузку CPU в %  каждого процесса, вместо этого она показывает  CPU(s). Что же это такое? Давай те разбираться.

Дело в том, что  CPU(s) – это время в сек. которое потратил процессор на выполнения процесса, т.е. в моем случае процесс  7zFM всего потратил 0,45 сек. на все свою работу. Но как это можно превратить в % ? Да очень просто: надо сделать 2 замера, посчитать разницу во времени между замерами и так же посчитать разницу потраченного  времени данным процессом. Давай те рассмотрим код:

cls
 
#Узнаем сколько у нас всего ядер
$core = Get-WmiObject -Class Win32_ComputerSystem | Select-Object NumberOfLogicalProcessors
 
#Первый замер
$data_start = Get-Date
$process_start = Get-Process | Where-Object {$_.Name -contains "7zFM"} | Select-Object TotalProcessorTime
 
# "Поспим" немного и "поработаем" в данном процессе
start-sleep -Seconds 5
 
#Второй замер
$data_stop = Get-Date
$process_stop = Get-Process | where-Object {$_.Name -contains "7zFM"}
 
#Подсчитаем загрузку
$Data_delta = $data_stop.Ticks - $data_start.Ticks
$CPU_delta = $process_stop.TotalProcessorTime.Ticks - $process_start.TotalProcessorTime.Ticks
 
if ($Data_delta -gt 0 -and $CPU_delta -gt 0){
    $CPU_Load = ($CPU_delta * 100) / ($Data_delta * $core.NumberOfLogicalProcessors)
}else{
    $CPU_Load = 0
}
# Выводим результат
Write-Host $CPU_Load

В результате мы получим загрузку в %. При небольшом изменении кода можно получить загрузку по всем процессам.

 Posted by at 23:49
Янв 092012
 
PowerShell

Очень часто приходиться работать на удаленных серверах и зачастую надо выполнить простые команды – посмотреть список процессов, загрузку CPU, свободное место на дисках запустить (закрыть) программу, выполнить настройку и т.д. Чаще всего под такие цели делают удаленный вход на сервер по средствам RDP, RAdmin и т.д. Это конечно хорошо, но надо тратить время на вход, запуск консоли, копания в настройках. Давайте рассмотрим еще один способ удаленной работы. Continue reading »

 Posted by at 12:51
Ноя 102011
 

Две певицы с сильным голосом Adele и Caro Emerald, которые необходимо услышать, хотя бы раз.

 Posted by at 10:37

Изменение времени в Windows

 cmd, Windows  Комментарии выключены
Ноя 082011
 

Как вы наверное знаете, в ночь с 29 на 30 октября 2011г. произошли изменения в часовых поясах в России. Подробнее об этом можно почитать на Хабре. Собственно хотелось поделиться скриптами по автоматизации процесса под виндовым доменом, где не настроено автообновление. Итак, первое – сканирование сети на предмет не установленного патча от MS.

Continue reading »

 Posted by at 16:50

Качаем видео с RuTube

 web  Комментарии выключены
Ноя 082011
 

Для сохранения видео с сайта rutube.ru можно использовать Raljeta. Программа проста и эффективна. Фактически это графическая оболочка к консольным утилитам rtmpdump и wget.

 Posted by at 14:42

Установка Review Board на Debian

 debian  Комментарии выключены
Окт 312011
 

Review Board – специализированная система для поддержки процесса рецензирования кода (code review). Изначально родилась как внутренняя разработка VMWare, но через некоторое время была передана в open source. Установку будем производить на Debian. Итак, поехали:

Continue reading »

 Posted by at 14:12

Повышение цен на HDD

 common  Комментарии выключены
Окт 242011
 

В Таиланде где расположено 60% всех производственных мощностей компании WD и около 30% Сигейт до сих пор находится во власти стихии. Часть фабрик затоплена, на части просто выключено электричество до того, как спадет вода. Прогноз на 4 квартал – превышение спроса над предложением на 25%. Это привело к тому, что производители (WD и Seagate) подняли отгрузочные цены дистрибуторам на 25-50%.

 Posted by at 21:51