![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
У меня есть проект... Раньше он был немного меньше (на 10% меньше кода, а также мои расчеты на затрачиваемую память практически не изменились)... Другими словами проект вырос, но этого почти не заметно... Еще месяц назад расходовалось 50мб оперативки... А теперь уходит 250. Время от времени вызываю подсчет типа Runtime.total - Runtime.free, и получаю 1 мб занятой памяти... Проблема в том, что раньше и сейчас на компе с Windows потреблялось около 50 мб, а вот при загрузке на сервер с Линух (256мб оперативки) уходит вся память... Сделал ограничение -Xms16m: -Xmx16m - помогло... Стало съедать 190 мб... Но все равно это не дело... Что бы это могло быть?
|
|||
|
||||
| Aoli |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 24.1.2007 Репутация: 1 Всего: 0 |
1. Реализация jvm под Win и под Lin отличается
2. Обычно jvm под Lin запускается в server моде. Потому, она такая жадная |
|||
|
||||
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
А посоветуйте как бы это исправить?
|
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: нет Всего: 12 |
Запускать с клю4ём java -client.Хотя я думаю врятли поможет. Напиши результат интерсно о4ень.
Это сообщение отредактировал(а) Tony - 7.9.2007, 09:29 |
|||
|
||||
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
Сразу вылетело...
Хотя может я неправ:
Из-за плохого знания Linux в зависимости от пробелов после : и перед вылетают разные ошибки... Это сообщение отредактировал(а) Anton Vatchenko - 7.9.2007, 12:18 |
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
Обьясняю. Линуксовая реализация делает mmap всех библиотек для убыстрения доступа. Поэтому размер всех бибилиотек просто добавляется в ps/top в используемую память несмотря на то, что реально эти бибки не в памяти а на диске. расходуется только адресное пространство. Оперативка не расходуется. Это позволяет очень быстро обращаться к любым бибкам.
Фактически оперативки линуксовая реализация ест примерно столько же что win реализация. windows не умеет делать mmap файлов, поэтому jvm под windows просто считывает используемые бибки в оперативную память. В следующих (за jvm 1.6 ) версиях linux jvm обещали сделать ключик, чтобы имитировать win поведение. -------------------- Бонифаций. |
|||
|
||||
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
А как же тогда мне узнать реальный расход оперативки? А то при вызове top слишком пугает строка Mem: 0kb free
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |