Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
chast2.doc
Скачиваний:
11
Добавлен:
06.11.2018
Размер:
523.26 Кб
Скачать

Дамп памяти

Из табл. 7.2 видно, что определенные сигналы генерируются в условиях, являющихся результатом работы программы. Как правило, процесс, выполняющий ошибочную программу, закрывается. Естественно, пользователю интересно, в чем заключается проблема. Для этого предусмотрено создание дампа памяти (dump«сброс, свалка»), показывающего состояние памяти, принадлежащей процессу в момент получения сигнала (QUIT, ILL, SEGV). Его копия хранится в файле с именем соге.

Предлагаю несколько мрачное, но точное сравнение: файл соге подобен свежему трупу скоропостижно умершего процесса, где программист может сыграть роль патологоанатома и произвести вскрытие. Конечно же, в таких ситуациях программистский жаргон нельзя назвать чопорным.

Как правило, такие дампы памяти скорее обременительны, поскольку занимают место на жестком диске и не содержат полезной информации для обычного пользователя. Поэтому Linux, как правило, не создает файлов соге.

Список процессов: ps

Синтаксис: ps [-] [luaxr]

ps [-] [ef]

Как и всякая важная команда, ps имеет, по крайней мере, 2 версии. Одна соответствует версии BSD UNIX, другая - System V UNIX. Разумеется, оба варианта обладают несовместимыми параметрами.

Версия bsd

Синтаксис: ps [-] [luax]

В Linux рs соответствует стандарту ВSD. Вся информация о пользовательских процессах, которые вызывают рs, представлена в виде таблицы.

Параметрам команды может предшествовать или не предшествовать знак -. В версии Debian опции, разработанные для систем UNIX снабжаются знаком -, а опции, используемые версиями BSD – не имееют дефиса перед опциями. Приведем примеры употребления опций для версии Debian:

  • -A - показывает процессы всех пользователей, а не только того, который вызвал рs;

  • -1 - расширенный формат вывода с дополнительной информацией;

  • U - формат, ориентированный на вывод сведений о пользователе. Предоставляется информация о ресурсах, затребованных каждым пользователем;

  • - показывать также процессы без управляющего терминала;

  • r - показать только выполняющиеся процессы.

Столбцы таблицы имеют следующее значение:

PID

(Process ID). ID процесса, или номер процесса – внутренний идентификатор текущей программы.

TTY

Управляюший терминал процесса. Выдаются только последние буквы имени файла устройства без начальной части (dev/tty).

STAT

Статус процесса

R процесс в состоянии выполнения;

S процесс в состоянии ожидания;

D непрерываемое ожидание;

T выполнение процесса остановлено сигналом;

Z зомби;

W процесс временно полностью выгружен из памяти;

N процесс сниженного приоритета.

TIME

Потребовавшееся на данный момент время расчета. Не учитываются периоды ожидания ввода данных и время, затребованное планировщиком для работы других процессов.

COMMAND

Команда, запустившая процесс. Длинные имена даются в сокращенном виде.

USER

Имя пользователя, от которого выполняется процесс.

%CPU

CPU означает центральный процессор. Значение в этом столбце показывает, какая доля имеющихся расчетных возможностей была использована для решения текущей задачи в последнее время.

%MEM

Доля задействованной на данный момент оперативной памяти (RAM).

SIZE

Размер занятой памяти. (Linux использует измерение в килобайтах).

RSS

Residental Size -занятая оперативная память (на данный момент). Выгруженные страницы не учитываются;

START

Точное время запуска процесса

PPID

ID родительского процесса.

PRI

Приоритет. Данное значение возрастает в период, когда процесс действительно выполняется, и понижается, когда он спит. При выборе процесса для перевода из состоянцк ожидания в активное планировщик предпочитает программы с меньшим значением приоритета.

NI

Nice Value (значение «уступчивости»). Чем больше это число, тем медленнее падает приоритет во время ожидания. Если запущено несколько процессов одновременно, предпочтение отдается тем из них, у которых это значение меньше.

WCHAN

Канал ожидания. Имя функции ввода/вывода, в которой «спит» процесс. Представляет интерес только для тех, кто что-либо понимает в ядре.

Пример вывода команды: ps U:

User PID %CPU %MEM VSZ RSS TTY STAT START TIME COMAND

root 199 0.0 2.0 2120 1300 tty1 S 18:06 0:00 -bash

root 200 0.0 2.0 2108 1280 tty2 S 18:06 0:00 -bash

root 201 0.0 0.7 1004 444 tty3 S 18:06 0:00 /sbin/getty 38400 tty3

root 202 0.0 0.7 1004 444 tty4 S 18:06 0:00 /sbin/getty 38400 tty4

root 203 0.0 0.7 1004 444 tty5 S 18:06 0:00 /sbin/getty 38400 tty5

root 204 0.0 0.7 1004 444 tty6 S 18:06 0:00 /sbin/getty 38400 tty6

root 249 0.0 1.5 2608 968 tty1 R 18:15 0:00 ps U

root 250 0.0 2.0 2120 1300 tty1 R 18:15 0:00 -bash

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]