Какую информацию выводит Top при использовании MPI

Я пытаюсь выяснить, сколько памяти нужно моей программе, использующей MPI. Было предложено использовать функцию «сверху», чтобы получить использование памяти. Однако мне неясно, что означает эта информация.

Я хочу знать, как оценить системную память и сколько она использует?

top - 13:52:41 up 208 days, 19:50,  1 user,  load average: 0.68, 0.15, 0.05
Tasks:  86 total,   6 running,  80 sleeping,   0 stopped,   0 zombie
Cpu(s): 98.5% us,  0.6% sy,  0.0% ni,  0.8% id,  0.0% wa,  0.0% hi,  0.1% si
Mem:   1024708k total,   225144k used,   799564k free,   104232k buffers
Swap:        0k total,        0k used,        0k free,    37276k cached

PID   USER      PR  NI  VIRT RES  SHR  S %CPU  %MEM  TIME+  COMMAND
12052 amohan    16   0  9024 4756 5504 R 99.0  0.5   0:09.65 greet
12054 amohan    16   0  9024 4756 5504 R 99.0  0.5   0:09.64 greet
12055 amohan    16   0  9024 4752 5504 R 98.7  0.5   0:09.65 greet
12053 amohan    16   0  9024 4760 5504 R 98.7  0.5   0:09.63 greet

Этот вопрос связан с более ранним сообщением Fatal Error in MPI_Irecv: Aborting Job


person Ashmohan    schedule 06.06.2011    source источник


Ответы (1)


Стандартная информация, отображаемая сверху, по порядку:

  • Идентификатор процесса
  • Владелец имени пользователя
  • Приоритет процесса, назначаемый ядром (чем выше, тем ниже приоритет)
  • «Приятность» процесса (чем выше, тем «приятнее» для других процессов и дает процессу «более низкий» приоритет)
  • Виртуальная память, выделенная для процесса в KiB
  • Резидентная память, используемая процессом (память, которая была malloc()ed и не выгружена) в KiB
  • Общая память (память, которая доступна как для запущенного процесса, его одноуровневых процессов, так и для любых других процессов, которым был предоставлен доступ), доступная для процесса в KiB
  • Состояние запуска (R работает, Z — зомби, S спит и т. д.)
  • % используемого ЦП (очевидно)
  • % используемой памяти по отношению к общей системной памяти
  • Совокупное время, в течение которого процесс находился в состоянии выполнения.

Более подробная информация должна быть доступна в man top.

В частности, память, которую, вероятно, использует MPI, содержится в области разделяемой памяти. Более подробную информацию можно получить из каталога /proc/, но я не знаю деталей сразу.

person greyfade    schedule 06.06.2011
comment
Как КиБ переводится в КБ. Мне сказали, что Unix обрабатывает размер памяти немного по-другому? Это точно? - person Ashmohan; 07.06.2011
comment
KiB == Kibibytes == 1024 байта. КБ == Килобайты == 1000 байт. - person greyfade; 07.06.2011