/dev/hda2 101105 8383 87501 9% /boot
/dev/hda6 10221420 1737440 8483980 17% /mnt/win_disk_e
//user5/share 7543680 4623488 2920192 62% /mnt/win_user5
С ключом -i команда df
измеряет дисковое пространство не в блоках, а в индексных дескрипторах (п.2.2.1), а с ключом -T
показывает тип файловой системы. О других ключах можно узнать, как обычно, на man-странице.
Команда du показывает, сколько места занимает каждый подкаталог каталогов, указанных в качестве аргумента (если аргументы не указаны, то это будет текущий каталог), и подсчитывает общий итог. Если у вас недостаточно прав на просмотр некоторых подкаталогов, то итог будет отличаться от правильного на размер запрещенных каталогов.
9.2.3. Процессы в реальном времени: команда top
Команда top предназначена для наблюдения за процессами в реальном времени и интерактивного управления ими. Терминал, на котором запущена программа top, превращается в окно, разделенное на области (рис. 9.4, сверху вниз):
♦ сведения о системе — продолжительность текущего сеанса, количество задач, использование памяти и процессора, средняя длина очереди задач, ожидающих выполнения (load average) и т.п.;
♦ командная строка;
♦ заголовки столбцов;
♦ область задач. Задачи в терминологии top — это не только пользовательские процессы — потомки init, но и системные процессы — части ядра.
Рис. 9.4. Программа top запущена на виртуальном терминале
Каждые несколько секунд (по умолчанию 3 секунды) окно обновляется.
В командную строку можно вводить команды управления самими задачами или порядком отображения сведений в окне программы top. Вот некоторые из таких команд:
♦ h — вызов справки;
♦ q — завершение работы программы (для выхода можно нажать и комбинацию Ctrl+C);
♦ u — показывать только процессы, запущенные определенным пользователем (следует указывать его регистрационное имя, а не UID);
♦ d — изменить интервал обновления;
♦ f — добавить или удалить столбцы;
♦ F — изменить столбец, по которому сортируются задачи. По умолчанию это %CPU — доля использованного процессорного времени, но можно сортировать, например, по убыванию объема занятой памяти;
♦ i — переключатель отображения: либо все задачи, либо только активные (в состоянии Running);
♦ k — отправить процессу сигнал. Программа спросит у вас PID процесса, а затем номер или название сигнала. По умолчанию посылается сигнал TERM;
♦ r — изменить приоритет процесса.
Количество и порядок отображаемых свойств процесса (столбцов) можно изменять. Всего доступно 26 свойств процесса (нумеруемых буквами английского алфавита), и соответствующие им заголовки столбцов перечислены в секции DESCRIPTIONS of Fields man-страницы команды top. На рис. 9.4 (команда top запущена с настройками по умолчанию) отображены следующие свойства:
♦ PID — PID процесса;
♦ USER — регистрационное имя владельца процесса;
♦ PR — приоритет;
♦ NI — показатель уступчивости (см. п.9.2.4);
♦ VIRT — занятая виртуальная память в килобайтах;
♦ RES — физическая (без подкачки) память, занятая процессом;
♦ SHR — объем разделяемой памяти, используемой процессом;
♦ S — состояние процесса;
♦ %CPU — доля процессорного времени, доставшаяся процессу с момента последнего обновления экрана;
♦ %MEM — доля занятой процессом физической памяти;
♦ TIME+ — процессорное время, израсходованное с момента запуска процесса, в секундах с сотыми долями;
♦ COMMAND — либо имя исполняемого файла программы, либо вся командная строка с аргументами. Режим переключается вводом в командную строку команды «с».
Процесс может находиться в одном из следующих состояний, отображаемых в столбце «S»:
♦ R (Running) — активен, то есть находится в основной памяти и ждет выделения ему процессорного времени либо уже выполняется;
♦ S (Sleeping) — выгружен из основной памяти;
♦ T (Traced) — приостановлен, например, в ходе отладки;
♦ D — состояние непрерываемого ожидания: процесс может быть «разбужен» только прямым (direct) сигналом от оборудования;
♦ Z — зомби. Это процесс, родитель которого не получил сигнала о завершении потомка и не очистил связанные с ним структуры ядра. То есть дочернего процесса нет, он не тратит процессорного времени и других ресурсов, а запись в таблице процессов осталась. Такие процессы нужно убивать вручную.
9.2.4. Приоритет процесса: команды nice и renice
Каждому процессу в системе назначен определённый приоритет, который учитывается планировщиком процессов при выделении процессу процессорного времени. Значение приоритета находится в диапазоне от -20 (наивысший приоритет) до 19 (наименьший: процесс выполняется только тогда, когда нет других претендентов на время процессора). Значение, обратное приоритету, называется показателем уступчивости (