Pslist і pskill, windows it pro

Реєстрація на конференцію

Безкоштовні інструменти для підготовки списків і віддаленого завершення процесів

Якщо запустити PsList без параметрів настройки, система видасть список активних процесів зі статистичними даними для кожного з них. На екрані 2. зліва направо, наведені ID процесу, пріоритет, число потоків, число дескрипторів, виділений розмір приватної віртуальної пам'яті, займане час процесора, час роботи. Занадто велика кількість дескрипторів, збільшений розмір приватної віртуальної пам'яті або тривалий час роботи процесора можуть вказувати на некоректне виконання програми. Час запуску процесу допоможе зв'язати процес з його причиною, наприклад з реєстрацією користувача.

За допомогою трьох ключів (-m, -d і -x) можна отримати різні типи інформації про процес. Ключ -m видає докладні відомості про використання віртуальної і фізичної пам'яті. PsList видає дані про загальний обсяг віртуальної пам'яті (що розділяється і приватної), займаної процесом, розмірі фізичної пам'яті, призначеної процесу, приватної віртуальної пам'яті, виділеної процесом, максимальному обсязі виділеної приватної пам'яті, зокрема помилок сторінок і сторінковому і нестранічном пулі, виділеному процесом.

Витік пам'яті майже завжди відбувається через те, що процес займає і не звільняє приватну віртуальну пам'ять; даний ресурс повинен зберігатися в сторінковому файлі і тому кінцевий. У процесів, що допускають витік, розмір приватної віртуальної пам'яті, як правило, стає дедалі більше, а розмір споживаної пам'яті майже завжди знаходиться поблизу значення виділеної пам'яті. Який призначається за умовчанням розмір пам'яті Task Manager характеризує фізичну пам'ять, споживану процесом (не віртуальну пам'ять), і не дає правильного уявлення про витік пам'яті.

Ключ -d показує докладні дані про потоках всередині процесів, в тому числі перемиканнях контексту, виконаних потоком, стані потоку (наприклад, активний або очікує) і часу центрального процесора, що займається процесом. І нарешті, ключ -x видає детальну інформацію про процес, пам'яті і потоці.

Корисний також ключ -t, при використанні якого PsList видає деревовидний список процесів (екран 3). Дерево процесів являє собою структуру, яка формується при створенні процесів іншими процесами; процеси, що знаходяться безпосередньо під іншим процесом і показані з відступом на кілька позицій вправо, є нащадками іншого процесу. Розглядаючи процеси в деревовидному форматі, легше зрозуміти їх призначення. Наприклад, всі процеси, які є нащадками SERVICES (Service Control Manager), забезпечують роботу служб Windows. На екрані 3 показані процеси-нащадки, перераховані з відступами під процесом SERVICES.

динамічне оновлення

Зріз всіх процесів в системі може знадобитися для аудиту або просто для збору відомостей про події в машині; але, як правило, більш корисно динамічне представлення. При використанні ключа -s PsList оновлює інформацію зі стандартною частотою один раз в секунду; частоту оновлення можна поміняти за допомогою ключа -r. Якщо застосувати тільки ключ -s або тільки ключі -s і -r без додаткових параметрів, PsList видасть список активних процесів, розсортоване за часом використання процесора. Таким чином, PsList перетворюється в спрощений інструмент Task Manager. PsList обчислює коефіцієнт використання процесора, порівнюючи два послідовних результату, тому значення у відповідному стовпці з'являється тільки після завершення першого циклу поновлення даних. Щоб вийти з PsList і повернутися в командний рядок, слід натиснути клавішу Esc.

Стандартний режим з ключами -s або -s і -r дозволяє виявити процеси, які споживають занадто багато ресурсів процесора, але якщо є підозра, що процес дає витік пам'яті, слід застосовувати -s в поєднанні з ключем -m. Ця комбінація ключів сортує процеси за розміром виділеної їм приватної віртуальної пам'яті. На екрані 4 показано, як за допомогою PsList виявити процеси, що допускають витік пам'яті. Значення приватної віртуальної пам'яті процесу Leakyapp згодом росло, і в даний момент воно дорівнює максимальну величину приватної віртуальної пам'яті.

Якщо замість моніторингу діяльності процесів потрібно отримати список процесів, що відображає використання центрального процесора, то слідом за ключем -s слід поставити 2, вказавши число секунд, протягом яких буде працювати PsList:

pslist emote s 2

Щоб обчислити коефіцієнт використання процесора, двох секунд досить. Якщо переслати результати команди в файл для архівації, то в ньому з'являться два «моментальних знімка» процесу; другий «моментальний знімок» показує список процесів, упорядкований за коефіцієнтом використання центрального процесора.

Пошук процесу

Поряд з іншими параметрами командного рядка PsList можна вказати ім'я або ID процесу. Наприклад, якщо є підозри, що процес з ім'ям Leakyapp допускає витік пам'яті, можна ввести команду

pslist emote s leakyapp

і спостерігати за змінами в виділеної процесу приватної віртуальної пам'яті. Особливостями поведінки PsList щодо процесів можна скористатися, щоб скласти командні файли, які виконують операції в залежності від того, активний чи процес: PsList видає код помилки 0, якщо виявляє процес, ім'я або ID якого збігаються з зазначеними користувачем; в іншому випадку видається код помилки 1.

Як працює PsList

Мені потрібно, щоб PsList працював з NT 4.0, тому інструмент не може використовувати Windows Management Instrumentation (WMI) так само, як Tasklist. PsList працює з Performance API, тим же самим API, який використовується інструментом Performance Monitor. Performance API підтримує віддалений інтерфейс управління, тому PsList не вимагає установки спеціального програмного забезпечення на контрольованих віддалених машинах. На жаль, за допомогою Performance API не вдається зібрати всю інформацію, доступну через WMI, і, на відміну від Tasklist, PsList не може отримати ім'я облікового запису, з якої запущений процес, або список DLL, завантажених в процес.

Поділіться матеріалом з колегами і друзями

Схожі статті