Системні процеси

From KDE UserBase Wiki
Revision as of 13:16, 9 October 2010 by Yurchor (talk | contribs) (Created page with "===Визначення вікна процесу, який слід вбити===")

Вступ

Системні процеси — це щось схоже на Task Manager у Microsoft Window, Activity Monitor у Apple Mac OS або Монітор системи у Gnome. Вікно цієї програми відкривається у відповідь на натискання комбінації клавіш Ctrl+Esc або піктограми «Системних процесів», , у вікні KRunner (Alt-F2).

У вікні буде показано список поточних запущених процесів, а також дані щодо використання процесора, пам’яті та іншими даними.



Загальні зауваження

Майже для всіх елементів графічного інтерфейсу передбачено підказки. Достатньо навести вказівник миші на елемент інтерфейсу і програма покаже вікно з докладними відомостями. Крім того, використано функціональні можливості підказки «Що це?». Задіяти її можна натисканням кнопки . На панелі підказки буде показано потрібні вам дані.

Наприклад, якщо ви наведете вказівник та стовпчик використання процесора, ви побачите дані щодо різних аспектів процесу, зокрема загального часу виконання програми.



Чому моя система працює так повільно?

Робота системи може значно сповільнитися через те, що певний процес (програма) потребує всіх обчислювальних можливостей комп’ютера або всього об’єму пам’яті комп’ютера.

За типових налаштувань процеси, власником яких є поточний користувач системи і які використовують найбільше потужностей процесора або об’єму пам’яті, перебуватимуть на верхівці списку. Це означає, що всі програми з помилковою поведінкою можна буде легко помітити у списку. Ось приклад:



У нашому прикладі, Firefox припинив відповідати на запити системи і використовує 99% процесора. Щоб завершити роботу процесу з помилковою поведінкою, клацніть на позначці процесу, щоб вибрати його, а потім натисніть кнопку Вбити процес…. У відповідь система надішле програмі запит на припинення роботи.

Не можу вбити процес — він просто відмовляється припиняти роботу!

На щастя, такі ситуації виникають не часто, але все ж іноді ви можете з ними зустрітися. Якщо робота процесу перейшла у помилковий режим, він може відмовитися відповідати на запити, отже доведеться зупинити його роботу у примусовому режимі негайно. Виконання цієї операції може призвести до того, що будь-які документи, які було відкрито у програмі, але не збережено, буде втрачено. Щоб надіслати подібний запит, наведіть вказівник миші на відповідний пункт, клацніть правою кнопкою миші і скористайтеся пунктом Надіслати сигнал, потім Вбити (KILL).

Іноді не вдається припинити роботу процесу навіть у наведений вище спосіб або система не надає вам такої можливості. Таке трапляється, наприклад, для процесу vuze з певними версіями ядра. Якщо процес або одна з його ниток спричинила до вияву вади ядра, програмі не вдасться виконати певну операцію ядра, а завершити її роботу буде неможливо. Часто у такої проблеми немає жодного простого рішення, окрім перезавантаження системи.

Процеси-зомбі

Процеси, які перейшли у стан зомбі, вже мертві, отже їх не можна вбити. Система виконує їх, доки їх не припинить батьківський процес (зазвичай для цього потрібно небагато часу). Поява процесу-зомбі, зазвичай, означає, що батьківський процес припинив відповідати на запити.

Визначення вікна процесу, який слід вбити

If you want to kill a particular window that has frozen up, simply press Ctrl + Alt + Esc at any time. The mouse cursor should turn into an image of a skull and cross bones. Now click the window that you want to kill. Note that this will kill the application immediately, and you may lose any unsaved data.

What's the difference between Memory and Shared Memory?

The Memory column shows approximately the amount of memory (RAM) that the process is using by itself, privately. The Shared Memory column is approximately the memory that is, or could be, shared with other programs. For example, the KDE libraries are used by all KDE programs and so are loaded into memory only once.

From KDE SC 4.4, you can right-click on a process and view the Detailed Memory Information for the process to get more accurate readings.

Technical Information

The "Memory" column shows the value of VmRSS - Shared, and so is generally lower than the values shown by top etc. This does not include memory backed I/O pages, and does not include memory used by the x server to store any pixmaps used by the application. This value is often called the Unique RSS size, or URSS. This approximates the value shown as Private memory usage in the Detailed Memory Information.

The Shared memory is the same as the SHR column in top and can be somewhat inaccurate. This approximates the value shown as Shared memory usage in the Detailed Memory Information.

Specifically the process list parses /proc/pid/stat whereas the Detailed Memory Information dialog parses /proc/pid/smaps.

How do I view more Detailed Memory Information about a process?

From KDE SC 4.4 you will be able to select a process in the table, right click on the process, and choose Detailed memory Information, and get something like:



Why do values in Detailed Memory Information not match the process list?

The process list in System Activity is using an approximation to gather the values. The Detailed Memory Information gives more accurate values.

Why is the "Xorg" process using so much memory?

This is the process that displays all the other applications. Its memory usage includes all the memory used on the video card to store all the pixmaps (images) from applications.

In general you do not need to worry about the memory usage of Xorg.

How do I see the PID of a process?

If you want to see the PID of a single process, hover the mouse cursor over the name of the process. The PID will be shown in the tooltip.

If you want to see the PID of all the processes, right click on any column heading and you will see the menu:



Choose Show Column 'pid'.

Why are some processes grayed out?

For example the process xclock:



This means that the process has already died. It is shown as a disabled process just for convenience to make it easier to see processes that are quit. The values for the CPU usage, Memory usage, etc are just the values from when the process was last seen alive. A process that has ended does not take up any resources (it uses no CPU, memory etc).

What are all of these processes owned by root and taking up no memory?

These are kernel threads. They exist only inside the kernel, and exist to allow the kernel to perform multiple tasks in parallel.

They are shown because occasionally they can be a cause of heavy CPU usage. For example, under a heavy load, and with bad drivers, a network card can produce a huge number of interrupts, resulting in a high CPU usage in the ksoftirqd kernel thread.

Likewise, a high CPU usage in kjournald can indicate that DMA transfer is not enabled on the hard disk.

Why do I have so many processes?

A normal average-user system has around 150 to 200 processes with strange sounding names. It would be nice to setup a wiki page giving a short description of each of these processes, but so far nobody has done this. :-)

Why is OpenOffice.org not showing up as a graphical program?

Before version 3.3, OpenOffice.org did not correctly implement the window standards. Specifically, their windows did not set _NET_WM_PID to link the windows to the process. This is now fixed in OpenOffice.org 3.3.