Почему значение VSIZE в верхней части отличается от значения VSZ (размер виртуального набора) в ps?

Я знаю, что VSZ в ps – это общее адресное пространство, выделенное для приложения, и иногда псевдоним как vsize (упоминается в man-странице ps на linux), но каково определение VSIZE в top ? Этот топ-выход с iPhone отличается от верхней части Linux:

  PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE 1875 emma 0.0% 0:30.83 7 139 932 17868K 5328K 29M 181M root# ps -eo pid,rss,vsz|grep 1875 1875 29324 441324 

One Solution collect form web for “Почему значение VSIZE в верхней части отличается от значения VSZ (размер виртуального набора) в ps?”

Система памяти Linux заполнена множеством подпрограмм утилит оптимизации памяти и совместного использования памяти, давая представление о том, как распределяется память и потребляется среди них, громоздкий подход. Выходные данные ps и других команд, связанных с ps, все обрабатывают их вывод из данных под /proc файловой системой. В частности, важны ps , RSS (память для резидентного размера) и VSIZE (размер виртуальной памяти), однако VSIZE не показывает точное использование памяти, а разница между VSIZE и rss – это то, что на самом деле предназначено и выделено программе во время инициализации, но пока не могут быть указаны. Подобно тому, как у программы может быть много связанных библиотек, но они еще не загружены, поскольку пока они не указаны в реальной исполняемой программе. RSS дает общую память, фактически используемую программой, но может не дать истинного изображения потребления памяти, так как большая часть выделенной памяти может использоваться совместно с другими экземплярами того же процесса или других процессов. Поиск в /proc/<processid>/maps может дать приблизительное представление о том, как использовалась память, но они тихие могут иногда вводить в заблуждение. Используйте pmap -x <pid> из командной строки, полезно, чтобы увидеть распространение.

Часто лучшие утилиты free и vmstat . free предоставит вам общие текущие данные о потреблении памяти, а vmstat можно будет использовать, чтобы увидеть, как часто он обновляется.

  • В чем разница в выходе swap -l и swap-памяти, показанной сверху?
  • Почему диапазон нагрузки не равен 0-1 + для всех процессоров вместе?
  • Надежное определение свободной памяти
  • Есть ли способ увидеть использование процессором программ в crontab?
  • Проверяет ли верхние системные файлы?
  • Как узнать, для чего этот процесс?
  • Как работает FireFox на виртуальной машине, которая не имеет отображения?
  • Какие процессы меняют память
  • Программно получить подробное использование процессоров, например top / htop
  • Разница между выводами top и ps
  • htop не показывает процесс
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.