| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > ява и загрузка процессора |
| Автор: polosatij 24.11.2008, 20:50 |
виртуальной машине ява можно сказать сколько максимально она может использовать памяти.. можно ли как сказать, не загружать процессор более чем на ... ? |
| Автор: v2v 24.11.2008, 21:01 |
| где то я видел схожий вопрос : сказали что нельзя. а в чём задача? |
| Автор: polosatij 24.11.2008, 21:04 |
пропарсить 1-10 гиг xml-я на сервере.. при этом загрузка возрастает до 100% пока всё пропарсится, нужно пару часов.. |
| Автор: Samotnik 24.11.2008, 21:13 |
| ну почему нельзя У меня иногда java.exe 90% проца кушает |
| Автор: polosatij 24.11.2008, 21:33 | ||
yes.. да, такая мысль была.. хотелось бы не заниматься велосипедом |
| Автор: v2v 24.11.2008, 21:55 |
| хорошо , вариант номер 2 установить CPU приоритет программы, программы с низким приоритетом не будут мешать программам с более высоким приоритетом. В виндах: cmd /c start /low myapp.exe Хм, но на сервере у тебя наверняка какой то линух.. точно сказать как это сделать в линуксе не могу , но посмотри в сторону команды renice. |
| Автор: COVD 24.11.2008, 22:05 |
| А почему 100%? Если только в коде ошибки, "короткое замыкание", то процессор может быть захвачен полностью. А большой файл обычно читают с диска или из сети порциями. Стало быть, операции в памяти приходится прерывать естественным образом на ожидание новой порции данных извне. Ну и пусть JVM c операционной системой сами решают. |
| Автор: garbuz 24.11.2008, 22:50 |
| polosatij, я все же советую вариант с потоками, предложенный v2v. Если в JVM еще что-то крутится-вертится помимо парсинга, сможешь расставить приоритеты потокам, стопить их на нек. время и т.д. и т.п. А с памятью там можно вроде что-то с кучей помудрить, но мог путать, можно еще погуглить по "JVM memory limit" |