У моего сервера есть какая-то утечка памяти или что-то в этом роде, использование процессора Java увеличивается до 100% за час и после многих часов оно перескакивает до 1100%.Утечка памяти Java (Loop Traversing)
Мне было интересно, может ли это перемещение цикла вызвать утечку памяти.
for (Object o : friends.values()) {
doSomethingWith(o);
}
друзей является ConcurrentHashMap и его содержание может меняться в некоторых ситуациях, когда друг идет онлайн или оффлайн.
Если это безопасно, как я могу найти утечку памяти?
Заранее спасибо.
@MitchWheat На Linux с достаточным количеством ядер [он может] (HTTP: // StackOverflow .com/questions/14579124/why-do-whiletrue-without-thread-sleep-cause-100-cpu-use-on-linux-but) ... – assylias
@MitchWheat, вы ошибаетесь. В Linux использование процессора, по-видимому, представлено для каждого ядра. Таким образом, 2 ядра с 100% -ным использованием будут отображаться как 200% –
@Matthew Kirkley: вздох! есть разница с тем, что показано и что на самом деле правильно! –