Использование подкачки процесса Linux больше, чем полное системное использование подкачки

Как

[NONECC] по сравнению с [ECC - {минус 2 / 3%-я скорость}]

[PHP NTS] по сравнению с [PHP TS - {минус 5 / 10%-я скорость}]

2
задан 31 January 2013 в 17:55
2 ответа

Top (по крайней мере, в некоторых версиях) вычисляет SWAP для каждого процесса как VIRT - RSS вместо того, чтобы сообщать о реальном использовании свопа. Под Linux результатом будет совершенно бессмысленное число.

6
ответ дан 3 December 2019 в 08:47

Краткий ответ

Столбец SWAP в вверху является вычислением (примерно) использования процесса подкачки и любого сопоставленного файла и / или общего доступа объекты, используемые этим процессом . Сопоставленные файлы не являются частью свопа , это файлы, считываемые процессом определенным образом, а общие объекты - это динамические библиотеки (.so) или блоки памяти, совместно используемые процессами.

Итак, если два процесса совместно используют большой кусок памяти, он будет дважды засчитан в top один раз для каждого процесса. Этот фрагмент памяти (если имеется достаточно свободной памяти и если он активен) может не находиться в свопе. Этот фрагмент памяти «зарезервирован» для процесса, это также не означает, что он используется полностью, поэтому он не обязательно занимает много физической ОЗУ.

На странице руководства указано: «SWAP вычисляется путем вычитания физическая память из виртуальной памяти ». На вычисленное значение не следует полагаться, если вы не разработчик (и не знаете, что делаете), для обычных пользователей это не имеет реального значения, см. Ниже, почему.

Длинный ответ, что такое виртуальная память и сопоставленные файлы ?

Примечание: VIRT означает виртуальную память.

Виртуальная память процесса Linux

Каждому процессу в Linux (и это имеет сходство во многих системах Unix) выделяется виртуальное адресное пространство. В 32-битной системе это виртуальное адресное пространство составляет до 4 ГиБ (2 ^ 32). В 64-битной системе. это виртуальное адресное пространство составляет до 256 ТиБ (2 ^ 48 да, 64-битная базовая система с текущим расширением AMD64 или Intel 64bit может только адресовать 48 бит памяти).

Виртуальная память каждого процесса содержит пространство ядра и пространство пользователя. В 32-битной системе разделение зависит от того, активирован PAE или нет, поэтому он может быть 3 ГБ / 1 ГБ или 2 ГБ / 2 ГБ. На 64-битной системе это всегда (AFAIK) половина / половина, поэтому первые 47 бит (128 ТиБ) предназначены для пользовательского пространства, а в конце 64-битной области 128 ТиБ зарезервировано для ядра.

Виртуальная память включает в себя код, данные и BSS запущенного процесса, он дополнительно включает стек и кучу, и область отображения памяти. Эта область содержит любую разделяемую память (IPC, общие объекты), а также может содержать (AFAIK) сопоставленный файл в памяти. См. Этот красивый рисунок, который я сделал для 64-битной системы .

Дополнительная информация о сопоставленных файлах

Можно сопоставить файлы, размер которых превышает доступную память, поэтому размер VIRT может быть больше, чем размер памяти . Ядро достаточно умен, чтобы загружать / выгружать данные из хранилища в память, чтобы ускорить ввод-вывод настолько, насколько позволяет доступная физическая свободная RAM.

Вы как пользователь не должны заботиться о размере VIRT. Это в основном предназначено для разработчиков (жесткого ядра).

В заключение столбец SWAP вычисляет виртуальную память за вычетом физической памяти (более вероятно, чем RSS), что, вероятно, будет включать в себя используемую часть подкачки и любой отображаемый файл, который также на диске.

Дополнительная информация о сопоставленных файлах

Можно сопоставить файлы, размер которых превышает доступную память, поэтому размер VIRT может быть больше, чем размер памяти. Ядро достаточно умен, чтобы загружать / выгружать данные из хранилища в память, чтобы ускорить ввод-вывод настолько, насколько позволяет доступная физическая свободная RAM.

Вы как пользователь не должны заботиться о размере VIRT. Это в основном предназначено для разработчиков (жесткого ядра).

В заключение столбец SWAP вычисляет виртуальную память за вычетом физической памяти (более вероятно, чем RSS), что, вероятно, будет включать в себя используемую часть подкачки и любой отображаемый файл, который также на диске.

Дополнительная информация о сопоставленных файлах

Можно сопоставить файлы, размер которых превышает доступную память, поэтому размер VIRT может быть больше, чем размер памяти. Ядро достаточно умен, чтобы загружать / выгружать данные из хранилища в память, чтобы ускорить ввод-вывод настолько, насколько позволяет доступная физическая свободная RAM.

Вы как пользователь не должны заботиться о размере VIRT. Это в основном предназначено для разработчиков (жесткого ядра).

В заключение столбец SWAP вычисляет виртуальную память за вычетом физической памяти (более вероятно, чем RSS), что, вероятно, будет включать в себя используемую часть подкачки и любой отображаемый файл, который также на диске.

Ядро достаточно умен, чтобы загружать / выгружать данные из хранилища в память, чтобы ускорить ввод-вывод настолько, насколько позволяет доступная физическая свободная RAM.

Вы как пользователь не должны заботиться о размере VIRT. Это в основном предназначено для разработчиков (жесткого ядра).

В заключение столбец SWAP вычисляет виртуальную память за вычетом физической памяти (более вероятно, чем RSS), это, вероятно, будет включать в себя используемую часть подкачки и любой сопоставленный файл, который также на диске.

Ядро достаточно умен, чтобы загружать / выгружать данные из хранилища в память, чтобы ускорить ввод-вывод настолько, насколько позволяет доступная физическая свободная RAM.

Вы как пользователь не должны заботиться о размере VIRT. Это в основном предназначено для разработчиков (жесткого ядра).

В заключение столбец SWAP вычисляет виртуальную память за вычетом физической памяти (более вероятно, чем RSS), что, вероятно, будет включать в себя используемую часть подкачки и любой отображаемый файл, который также на диске.

3
ответ дан 3 December 2019 в 08:47

Теги

Похожие вопросы