powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / java грузит процессор на 100%
22 сообщений из 22, страница 1 из 1
java грузит процессор на 100%
    #34172979
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
товарищи:)), помогите разобраться:
есть одно консольное приложение написанное на java.
которое подключается к определенному серверу (адрес сервера задается в конфигурационном файле)
и слушает его.
Всего 5 серверов которые нужно прослушивать. Java приложению через командную строку передается
конфигурационный файлик. Когда я запускаю 4 приложения, все работает как по маслу. При запуске 5-го приложения
минут через 5-10 пятое приложение начинает загружать процессор до 90-100%, в то время как другие 4 работают отлично, загрузка процессора 1-10%, прекрасно обрабатывают запросы от сервера. (от первых 4-х серверов идут 5-10 запросов в минуту, от пятого сервера запросы вообще не идут (так и долно быть), приложение просто должно слушать пятый сервер).
Вообще ничего не могу понять, первые четыре подключения к серверам работают стабильно, а подключение к 5-му грузит процессор. Даже если я запущу подключение к 5-му серверу первым, а потом остальные подключения, то всеравно подключение к 5-му серверу грузит проц.:((
и еще в логах переодически запысывается (IOException) java.net.SocketException: Software caused connection abort: socket write error
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34172993
Фотография ррмяф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну значит проблема именно в этом пятом сервере - он кривой.
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173000
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5-ый сервер не кривой, это смс цент у оператора, он просто не может быть кривой, эт. проверенно, а у меня вылетает переодически ошибка java.net.SocketException: Software caused connection abort: socket write error, (т.е. ошибка на моей стороне)
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173011
Фотография ррмяф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denisshа у меня вылетает переодически ошибка java.net.SocketException: Software caused connection abort: socket write error, (т.е. ошибка на моей стороне)
Это вы с чего вдруг взяли - что раз socket write error, то ошибка на вашей стороне?
Не пойму логики.
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173020
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denisshДаже если я запущу подключение к 5-му серверу первым, а потом остальные подключения, то всеравно подключение к 5-му серверу грузит проц.:((
и еще в логах переодически запысывается (IOException) java.net.SocketException: Software caused connection abort: socket write error

Потрассируйте ваше консольное приложение. Возможно, его вешает один единственный вызов метода (возм. платформы), что и порождает 100% перегруз.
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173042
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton denisshДаже если я запущу подключение к 5-му серверу первым, а потом остальные подключения, то всеравно подключение к 5-му серверу грузит проц.:((
и еще в логах переодически запысывается (IOException) java.net.SocketException: Software caused connection abort: socket write error

Потрассируйте ваше консольное приложение. Возможно, его вешает один единственный вызов метода (возм. платформы), что и порождает 100% перегруз.

mayton, приложение большое, другие 4 конекта работают на 5+, а при конекте к 5-му серверу 100% загрузка может быть и через час, а может и через 5 минут....(если бы вы сказали как трасировать в jbuilder'е, в основном все ошибки были очевидны, и глубоко копать не приходилось, я особо не смыслю в трассировке)
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173045
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ррмяф denisshа у меня вылетает переодически ошибка java.net.SocketException: Software caused connection abort: socket write error, (т.е. ошибка на моей стороне)
Это вы с чего вдруг взяли - что раз socket write error, то ошибка на вашей стороне?
Не пойму логики.

ррмяф, насколько я знаю Software caused connection abort - это программа порождает обрыв связи (вполне возможно я и не прав). Мое приложение каждые 30 секунд проверяет коннект, отправляет определенный пакет серверу и сервер отвечает мне этот же пакет + добавляет пару байтов, и в какойто момент приложение не может отправить пакет и пораждается исключение это, но сразу за ошибкой приложение востанавливает конект и продолжает обмениваться пакетами....
ррмяф, ты мог бы поподробнее ообъяснить в чем я не прав, что бы я мог привести эти аргументы людям, кот. сидят за 5 сервером?
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173058
Фотография ррмяф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denissh
ррмяф, ты мог бы поподробнее ообъяснить в чем я не прав, что бы я мог привести эти аргументы людям, кот. сидят за 5 сервером?
Ну почему бы вам не воспользоваться гуглом?
тынц

Например,
http://forum.java.sun.com/thread.jspa?threadID=582968
Guys, I had faced a similar problem. Actually this happens when the server closes the socket connection while u writing to it, or in general using the socket. I could solve this by increasing the timeout period or in fact not giving any timeout at all.

Hope this helps
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173079
Фотография ррмяф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще причин может быть много.
По хорошему, нужно запускать профайлер и смотреть.
Либо устанавливать свои счётчики на методы и замерять, какой из них стал выполняться очень долго.
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173084
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denisshmayton, приложение большое, другие 4 конекта работают на 5+, а при конекте к 5-му серверу 100% загрузка может быть и через час, а может и через 5 минут....(если бы вы сказали как трасировать в jbuilder'е, в основном все ошибки были очевидны, и глубоко копать не приходилось, я особо не смыслю в трассировке)

Ну.. если вы работаете в IDE, у вас должен быть режим профилирования. Поищите его где-то в меню Run (к сожалению я не знаком с JBuilder и могу ошибатся). Профиль позволит увидеть причину тормозов.

И еще. Хотелось бы взглянуть на фрагмент кода, который приводит к возникновению IOException. (Желательно не 2-3 строки а хотя-бы один файл-класс).
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173106
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton denisshmayton, приложение большое, другие 4 конекта работают на 5+, а при конекте к 5-му серверу 100% загрузка может быть и через час, а может и через 5 минут....(если бы вы сказали как трасировать в jbuilder'е, в основном все ошибки были очевидны, и глубоко копать не приходилось, я особо не смыслю в трассировке)

Ну.. если вы работаете в IDE, у вас должен быть режим профилирования. Поищите его где-то в меню Run (к сожалению я не знаком с JBuilder и могу ошибатся). Профиль позволит увидеть причину тормозов.

И еще. Хотелось бы взглянуть на фрагмент кода, который приводит к возникновению IOException. (Желательно не 2-3 строки а хотя-бы один файл-класс).


Вот функция проверки конекта:

public int enquireLink()
{
int link = 1;
EnquireLink request = new EnquireLink();
try
{
session.enquireLink(request); <------(собственно здесь возникает ошибка иногда)
session.getEvent().write("Client: (47), request for Enquire Link " + request.debugString());
}
catch (IOException ex)
{
link = -1;
session.getEvent().write("Client: (61), "+(new Date(System.currentTimeMillis())).toString() + " request for Enquire Link failed. (IOException) "+ex);
}

return link;
}



вот здесь она вызывается раз в 30 сек.

int i = client.enquireLink();
if(i == -1)
{
client = new Client(SmppPropert);
if(client.linkstate == 1)
linkcheck = System.currentTimeMillis();
}
else
{
linkcheck = System.currentTimeMillis();
}

...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173107
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173108
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173109
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173111
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173112
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот mayton, выше вроде все учавствующие в этом классы...
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173168
я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я
Гость
нафига ты запускаешь 5 инстансов (SMPP?)клиента, вместо того чтобы сделать его многопоточным?
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173465
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5 экземпляров для того чтобы если один вылетит, все остальные продолжали работать.....
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34173555
denissh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to mayton:
есть какие нибудь предложения?
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34174234
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denisshto mayton:
есть какие нибудь предложения?

Пока не знаю, denissh.

Думаю, что чтения исходников здесь недостаточно. Чтобы смоделировать твою ситуацию, я должен обладать твоей операционной системой и твоей версией Java-машины и иметь доступ к серверам сообщений. Понятное дело, что таких условий у меня нет и вряд-ли они появятся. Поэтому единственный нормальный и разумный выход, который я вижу - это изменять условия запуска, логировать значимые события, трассировать время выполнения критичных участков кода и.т.п. И всё это придется делать на твоей машине.

Тебя устраивает такой вариант?
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34175208
jnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну может и не в тему но проц легко может грузить постоянно выполняющийся поток если ему не делать sleep.
...
Рейтинг: 0 / 0
java грузит процессор на 100%
    #34175231
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видел как у людей, использовавших библиотеку com.logica.smpp были те же проблемы на Linux x86
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / java грузит процессор на 100%
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]