Intereting Posts
exim отклоняет все local_part, соответствующие шаблону Установка брандмауэра pfSense на SSD Машина Ubuntu случайно перезагружается Как подключить USB-микрофон к выходу по умолчанию в Alsa? Как получить приемлемую последнюю измененную временную метку для моего сайта Jekyll с помощью сценария оболочки? Как убить этот процесс в bash команда egrep, которая показывает всех авторов и субъектов почты, содержащихся в каталоге Выберите содержимое, соответствующее определенному контенту из файла, и переместите его в выходной файл Как назвать объем в Linux, чтобы я мог распознавать каждый том в файловой системе? Различные права доступа для разных групп для папки в Linux rsnapshot занимает много времени для резервного копирования, правильно ли написаны сценарии? Как работает эта команда sed? Могу ли я установить GNU / Linux на диск FAT? Выполнить скрипт bash с помощью CygWin Как я могу создать и запустить 32-разрядное программное обеспечение на 64-разрядном Debian?

Почему значение 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 

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

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