Я только что начал R & D на размер кучи JVM и заметил странное поведение.Проблемы с размером кучи JVM
- Мой размер системы оперативной памяти 4 GB
- ОС 64-разрядные окна 7
- Java версия 1,7
Вот наблюдения:
я написал образец магистрального программа, которая начинается & сразу же отправилась в wait состояние.
При запуске программы из затмения с -Xms1024m -Xmx1024m параметров он может иметь возможность запускать 3 раза/параллельно-процесс от 3 затмение т.е. параллельный процесс только как мой ОЗУ только 4 Гб. Это ожидаемое поведение.
Поэтому я перезапускать то же самое с -Xms512m -Xmx512m параметров и может иметь возможность запускать 19 раз/параллельно-процесс от затмения, даже моя оперативная память 4 Гб. КАК?
Я использовал VisualVM инструмента для перекрестной проверки и я могу видеть 19 идентификаторахов процессов и каждый идентификатор процесса выделяется с размером 512m даже мой RAM 4 Гб, но КАК?
Я просмотрел его & прошел через документацию о oracle по управлению памятью & оптимизация, но эти статьи не ответили на мой вопрос.
Заранее спасибо.
Спасибо, Баджи
Goggle сказал мне, что компьютер может обмениваться оперативной памятью, чтобы фактически создать больше оперативной памяти, освободив биты, которые он не использует * прямо затем *. – Warkst
Если это так, в вышеупомянутом случае должно быть последовательным, но поведение отличается. –
Вы уверены, что все процессы были запущены параллельно? – Ivan