Выбор ответа Junior Память и OOM обновлено
VSZ против RSS
Вопрос
У процесса Java VSZ 12 ГБ, а RSS 1.1 ГБ на машине с 4 ГБ RAM. Как это возможно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: VSZ это всё адресное пространство, а RSS только страницы в RAM. Виртуальный размер включает зарезервированные, но не тронутые области (JVM резервирует кучу и код заранее), mmap-файлы и библиотеки.
Варианты ответа
- VSZ это всё адресное пространство, а RSS только страницы в RAMправильный ответ
- Процесс использует около 11 ГБ свопа, это и есть разница
- Это ошибка
ps: виртуальная память процесса не может превышать объём RAM - VSZ учитывает память всех потоков, а RSS только главного
Разбор
Виртуальный размер включает зарезервированные, но не тронутые области (JVM резервирует кучу и код заранее), mmap-файлы и библиотеки. Физически занято только то, что в RSS. Своп был бы виден отдельно (VmSwap в /proc/<pid>/status). Потоки делят одно адресное пространство, деления на главный и остальные нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.