С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/64: Рейтинг темы: голосов - 64, средняя оценка - 4.95
janius
0 / 0 / 0
Регистрация: 23.06.2008
Сообщений: 3
1

Проблема: Java загружает CPU на 100% и не отпускает

20.07.2008, 18:30. Просмотров 12308. Ответов 8
Метки нет (Все метки)

Привет всем!
Я использую Windows 2000 Advansed Server, JRun 3.1, JDK 1.2.2
Проблема состоит в том что Java иногда загружает процессор на 100% и не отпускает очень долгое время, даже если остановить JRun.
Процесс который загружает процессор javaw.exe
Кто нибудь может подсказать что делать. Может быть это какие то настройки?
Помогите плз.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2008, 18:30
Ответы с готовыми решениями:

Один поток загружает CPU на 100%
Никак не пойму, как получается, что если один поток нагружает процессор на 100%...

Смотрю кино - виснет на пару секунд, после чего звук отпускает, но картинка так же застыв висит, потом и ее отпускает
всем доброго времени суток. проблема: комп неделю назад начал виснуть. ...

100% загружает жесткий диск
100% загружает жесткий диск на Windows 8.1. Установил 10-ку тоже самое,...

Система загружает процессор на 100%
Здравствуйте уважаемые коллеги. Есть проблема. На компьютере установлена...

svhost.exe загружает ЦП на 100%!!!
Привет!Помогите, все перепробовал не помогает!!!Открывая какое либо видео или...

8
mishgun
20.07.2008, 23:12 2
Скорей всего это сама прога а процесс javaw зависает из-за проги.Я с таким сталкивался правда Аппликейшен сервер был другой
janius
0 / 0 / 0
Регистрация: 23.06.2008
Сообщений: 3
21.07.2008, 16:26  [ТС] 3
Я думаю, что вряд ли это из-за проги, так как прога не одна и зависание происходит примерно раз в сутки. За сутки эти проги отрабатывают нормально по многу раз. Как думаешь может это из-за Garbage Collector? Как с этим можно бороться?
0
mishgun
21.07.2008, 19:56 4
Если твои подозрения касаются Garbage Collector то советов много не дам.Самый первый это внимательно разобрать проги(судя по всему jsp Beans и сервлеты). Просто похоже на то что Сборщик не считает нужным убивать эти проги.Либо посмотри настройки JRun(Хотя он у меня на дом компе стоит и таких закидонов не производит). Либо принудительно вызывать сборщика методом System.gc(); - но опять таки если сборщик видит что прога где то используется то он не убьет ее.
vovik64
0 / 0 / 0
Регистрация: 17.07.2008
Сообщений: 6
22.07.2008, 21:58 5
Привет всем.
Ребятки, а кто вам сказал что сборщик мусора убивает проги?
Сборщик мусора освобождает занимаемую память если на нее нету ссылок.

И если обьектов никто в данный момент не использует это не означает что они должны быть уничтожены. Будут объекты уничтожены и соотв. освободится память, когда на них не будет ниодной ссылки.

!!!А тем более сборщик мусора не освобождает нагрузку на процессор!!!
Скорее всего дело в программе, например, где-то бесконечный цыкл выполняется.
Совет: поставь отладочных сообщений побольше и пусть они спамят в какой-нить лог файл.

--------------- Ребята давайте жить дружно! (с) Кот Леопольд.
0
mishgun
23.07.2008, 01:09 6
В книгах на английском языке пишется kill(и насколько мне позволяют мои скудные знания английского и 5 год проживания у америкосов я полагал что это как раз убивать а не освобождать).
А по поводу проверки программы я написал в самом начале но автор клянется что всё ОК.
А освобождает память он каким образом?Убивая объект.
janius
0 / 0 / 0
Регистрация: 23.06.2008
Сообщений: 3
23.07.2008, 13:46  [ТС] 7
to vovik64:
То что ты написал по поводу сборщика мусора это и так все понятно. Я конечно ламер но не до такой степени чтобы не понимать что сборщик мусора не освобождает нагрузку на проц. Но загрузка проца проискодит именно в тот момент когда памяти не хватает. По поводу бесконечных циклов: я уже писал что проги отрабатывают успешно по многу раз в сутки. Какие тут могут быть бесконечные циклы? Если бы они были зависание происходило на прогах.

to mishgun:
Проги я посмотрел, разобрал, вроде никакого криминала там нет. У меня тоже было подозрение на них. Классы проверил. Насколько я знаю все классы которые сам пишешь наследуются по умолчанию от Object если даже не указывать явно. Значит метод finalize у них есть. Я прав?
Память забивают даже те страницы на которыя я использую только стандартные классы или даже только стандартные типы (int, boolean).
Пробовал вызывать System.gc() предварительно обнулив ссылки на обьекты, но это не помогло.
Может быть такое что память забивается скомпилированными страницами чтобы потом их снова не компилить? Я спрашиваю потому что при повторном выполнении страницы память не забивается. Да память забивается даже теми страницами на которых вообще ничего нет, просто пустой jsp файл.
Еще я посмотрел лог JRun'a когда проц загрузился на 100% там была зафиксированна ошибка OutOfMemory Error
Если тебя это не сильно затруднит может напишешь настройки своего JRun'a?

to all:
Какие будут соображения, советы?
0
vovik64
0 / 0 / 0
Регистрация: 17.07.2008
Сообщений: 6
23.07.2008, 21:15 8
to mishgun: Насчет убивает (kill). Вот что говорится в исходнике
System.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    /**
     * Runs the garbage collector.
     * <p>
     * Calling the <code>gc</code> method suggests that the Java Virtual
     * Machine expend effort toward recycling unused objects in order to
     * make the memory they currently occupy available for quick reuse.
     * When control returns from the method call, the Java Virtual
     * Machine has made a best effort to reclaim space from all discarded
     * objects.
     * <p>
     * The call <code>System.gc()</code> is effectively equivalent to the
     * call:
     * <blockquote><pre>
     * Runtime.getRuntime().gc()
     * </pre></blockquote>
     *
     * @see     java.lang.Runtime#gc()
     */
    public static void gc() {
        Runtime.getRuntime().gc();
    }
по моему всё ясно
0
mishgun
23.07.2008, 23:26 9
Я по моему по русски ещё писать не разучился.Я писал про книги а не про API documentation
23.07.2008, 23:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2008, 23:26

Браузер загружает процессор на 90-100%
Здравствуйте, у меня случилась такая беда..... резко начал грузить проц в...

Svchost.exe загружает процессор на 100%!
В чем может быть причина?кстати это происходит после того как я поиграю в мигру...

Многопоточное приложение загружает процессор на 100%
Есть многопоточное приложение, бот для яндекса. В разных потоках проверяются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru