LINUX.ORG.RU

Java, Ubuntu, Fedora, ThinkPad ?

 , , ,


0

1

Всем привет!

Использую для работы ThinkPad T43 с двумя гигами ОЗУ и пентюхом М частотой 1,2. Операционка - Ubuntu 14.04 Использую для запуска торгового терминала, написанного на Java. Тормозит люто! В дуалбуте пиратская семёрочка - там просто всё летает, но она и даром не нужна. Однако бубунту заточил уже под себя и жаль сносить без гарантии, что JVM в Fedora с GNOME будет шустрее на данном железе. Есть опыт у кого-то с джава приложениями на Fedora vs Ubuntu или Windows? Стоит ли заменить бубунту федорой или снести всё кроме маздая?

Буду благодарен любой полезной инфе.

— Где я? — Вы в госпитале... — К чёрту подробности, на какой планете?!

А вот ты выкладывай именно подробности.

Что тормозит? Какие-то вычисления или UI?

Что за Java?

java -version

Что top говорит? И по памяти, и по CPU?

Поставь для сравнения jEdit. Он тормозит?

anonymous
()

вы хоть посмотрите что именно тормозит, а то ответ вам будет как в анекдоте, у меня такая же джава(нога) и ничего не тормозит(не болит), но память жрет, это да.

LiBer ★★★
()
Ответ на: комментарий от anonymous

Тормозит UI. При движении указателем по графику - курсор спотыкается, цепляется и теряется обратная связь. Память жрётся умеренно - не более 600 метров, а вот проц во время работы с графиком грузится на 100%, в спокойном состоянии 40% Java последняя - возьмая. Из лаунчпада. Диск SSD. jEdit попробую вечером - сейчас на работе.

При этом активно работая в оффтопике - загрузка проца и памяти сопоставимая, но тормозов с отрисовкой и откликом нет вообще.

le_legioner ★★
() автор топика
Последнее исправление: le_legioner (всего исправлений: 1)
Ответ на: комментарий от le_legioner

Общие соображения такие.

Если прога вменяемо написана, то в бездействии процессор кушаться не должен. Раз под виндой всё путем, то считаем, что терминал написан нормально.

Откуда могут быть тормоза. Если глючит линукс (граф. драйвер, или еще что), то ничего посоветовать не могу. Но может плоховать сама ява.

Java 8 еще довольно новая вещь. Скажем, Jetbrains IDEA одно время была совершенно неюзабельна именно под восьмеркой, лагала и жрала CPU со страшной силой. Сейчас все пофикшено, но у разрабов твоей проги могут быть такие же грабли, особенно, если под линуксом ее никто не тестирует.

Поэтому советую поставить параллельно Java 7 (надо будет поправить evn-переменную JAVA_HOME, и чтобы в PATH лежала именно нужная java).

Второе. Опять же, по опыту с Идеей: они советуют запускать под Oracle JDK, пишут, что какие-то граф. возможности под ней лучше сделаны (или сделаны только там, не разбирался). Если у тебя OpenJDK, имеет смысл ее поменять.

Третье: я ставлю Java отдельно в /opt, а не из родного дистрибутива. Аргументов не приведу, но вот так вот сложилось.

Так что в идеале нужно поставить две явы:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-188026...

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213315...

(можно и JRE воспользоваться, но мне привычнее JDK).

И попробовать запускаться под каждой.

Отдельный крупный пункт: x86 vs x86-64. Вдруг у тебя винда 32 бита, а линукс — 64?

64 бита очень сильно хавают память (это касается не только Java, но и того же хрома), и двух гигов может быть мало. Со свопом что современный линукс, что современная Java абсолютно неюзабельны, такая вот печаль.

Если top не показывает свободной памяти, то это очень нехорошо, и симптомы будут похожи на твое описание.

Всего прога занимает 600 Мб. Под статичные данные съели 560 Мб. Сборщику мусора на оставшиеся 40 Мб не развернуться, и он постоянно выполняется (и жжёт CPU).

В итоге он работает в 10 раз чаще, чем если бы было свободно 400 Мб, и этим забивает весь CPU.

И последний вопрос.

Как прога запускается? Руками, java -jar terminal.jar, или через shell-скрипт? Если через скрипт, то хорошо бы его увидеть.

anonymous
()
Ответ на: комментарий от Deleted

Тоже подумал об этом.

А вообще есть такая проблема или это частный случай - отставание в работе JVM в разных осях?

le_legioner ★★
() автор топика
Ответ на: комментарий от le_legioner

есть проблема в жопоруких программистах которые пишут на java, а java в силу своих особенностей прощает им многое, в сях бы эта поделка просто упала

ps. да в java бывают и косяки, но при переходе на java8 у меня не работал только db2 драйвер вообще и еще одна проприетарная поделка тормозила - что характерно опенсурсный софт работал нормально

Deleted
()
Ответ на: комментарий от le_legioner

Условно-частный. JVM просто обязаны хорошо работать под линуксом: она в основном для серверов используется, а сервера крутятся понятно под чем.

Поэтому никаких отставаний быть не должно, но случаются баги.

Про проблемы в переходах 5-6-7 не слыхал; про 7->8 уже написал, что с Идеей был атас.

anonymous
()
Ответ на: комментарий от anonymous

Прога запускается руками: java -jar

По памяти - я наверное выразился криво, у меня стоит 2Гб ОЗУ из которых приложение жрет не более 600 метров, ну своп у меня ещё в памяти крутится через ZRAM, но там один гиг максимум.

Процессор Pentium M, он х86. Так что пока недостаток ОЗУ и разрядность исключаем.

Java стоит оракловска, не OpenJDK. Точно такая же версия и в винде, но буду пробовать откатиться на седьмую. Вот что меня напрягает, так это то, что до этого этой же машине стояла Xubuntu и там терминал работал ровно, т.е. грешу я всё же на Unity, но top этого как бэ не подтверждает.

В любом случае, благодарю за помощь!

le_legioner ★★
() автор топика
Ответ на: комментарий от le_legioner

Java стоит оракловска, не OpenJDK. Точно такая же версия и в винде, но буду пробовать откатиться на седьмую. Вот что меня напрягает, так это то, что до этого этой же машине стояла Xubuntu

смотри, в jdk (изкоробки, в дебиане она не в /usr/bin а в /usr/lib/jvm/jdk-8-oracle-x64/bin/jvisualvm ) есть такая штука как jvisualvm это тузла для программистов, но она позволяет профилировать (там ест ьпрофайлер и семплер, учитывая объем оперативки профайлер можешь даже не пытаться включать) приложения и с ее помощью можно вычислить что конкретно тормозит и как, но это стоит копать если дейтвительно хочется разобраться.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

это как бэ да - жопорукие они такие. Но это официальный торговый терминал Чикагской биржи, плюс он платный и пользуются им отнюдь не нищеброды форексники ну и последнее - в винде же нет проблем. Грешу на убунтупроблемы.

le_legioner ★★
() автор топика
Ответ на: комментарий от le_legioner

Но это официальный торговый терминал Чикагской биржи, плюс он платный и пользуются им отнюдь не нищеброды форексники

а написать его могли индусы за миску риса, который они даже не едят, драйвер для db2 от фирмы ibm - то же не хвост собачий, а айбиэм это не какаято там биржа тем не менее и дравер эталон говнокода (еще и обфусцированный) который не работает под java8 и некоторые их инструменты для работы с бд тогоже пошиба.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Не, разбираться некогда так дотошно. Откачусь, может дистр сменю, если будет лагать, останусь на оффтопике богопротивном.

le_legioner ★★
() автор топика
Ответ на: комментарий от Deleted

Ну вот, ты развеял последний миф о качественном софте. ;-)

кстати пишут ребята из Чикаго, в массе своей - румыны.

le_legioner ★★
() автор топика
Ответ на: комментарий от le_legioner

погугли про тормоза в java при отрисовке в линуксе, иногда там могут опции командной строки помочь

Deleted
()
Ответ на: комментарий от Deleted

Да вот гуглил. Поэтому на лор обратился - практически нет такой инфы, а где тормоза наблюдались, так из-за железа оказывалось.

le_legioner ★★
() автор топика
Ответ на: комментарий от le_legioner

ну этот терминал в логи гадит? можно их поковырять да еще сделать ему kill -3 он тогда просрется в логи дампом потоков (но не сдохнет, это никак не сказывается на приложении) и кинуть сюда может там чего будет

Deleted
()
Ответ на: комментарий от le_legioner

на чём UI написан? Сколько ядер проц? Оракловую жабу слабо постаивить? Драйвер на видюху проверь.

ii8_ ★★★★
()

А вообще, после прочтения всех сообщений TС, мне кажется что в даном случае проблема далеко не в жабе, и даже не в thinkpade. АХАХАХ)))

ii8_ ★★★★
()

Стоит ли заменить бубунту федорой или снести всё кроме маздая?

Как вариант — взять Fedora live USB, попробовать. Устроит — заменить.

dexpl ★★★★★
()

Поставь Alpine Linux или Gentoo (сам сидел на T42p). Ubuntu, Fedora это все жирные дистрибутивы, в них много лишнего.

gh0stwizard ★★★★★
()
Ответ на: комментарий от le_legioner

top может показать загрузку, но лаги не обязательно следствие нагрузки, но может просто следствие ожиданий/синхронизаций.

no-dashi ★★★★★
()

Асер, кора дуба, 2 Гб, 1,6, гуй к удалённому постгресу на жабе (сам ваял), Федора 9 - летает.

Deleted
()
Ответ на: комментарий от Deleted

— Доктор, я руку не чувствую!

— У меня все работает. Следующий.

anonymous
()
Ответ на: комментарий от Deleted

откат на седьмую джаву ничего не решил. поиграл немного с опциями загрузки, тоже ноль. логи не искал пока - спать завалился. уже в воскресенье погляжу. как вариант, попробую от нового юзера, без шифрования хомяка.

le_legioner ★★
() автор топика
Ответ на: комментарий от dexpl

это и планирую. однако для чистоты эксперимента, запущу образ с файловой системы женского диска, а не с лайф юсб.

le_legioner ★★
() автор топика
Ответ на: комментарий от le_legioner

Использую для запуска торгового терминала, написанного на Java

Так там выбор то небольшой, скорее всего свинг или свт. Просто иногда с кастомным свт бывают такие приколы. Например ИБМовский эклипс тормозит пока не поставишь libxrender-dev, при чём 32х битный. То что ты описываешь больше похоже не косяк графического тулкита.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

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

le_legioner ★★
() автор топика

Спасибо всем!

Оптимизировал систему. Работать стало приемлемо.

le_legioner ★★
() автор топика
24 марта 2015 г.

Решилась проблема заменой ядра на пропатченное. Попробовав ситуацию в иных дистрибутивах, столкнулся с той же проблемой. Лишь на одном, терминал летал не медленнее, чем на оффтопике. Покопавшись в описании, заметил, что ядро там с патчем BFS. Накатил похожее на убунту - легче жить стало. До этого игрался с Xms и Xmx, но прироста дало это мало.

le_legioner ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.