Здравствуйте, SV., Вы писали:
Q>>>>Почему после завершения жабапрограммы, процесс java.exe продолжает висеть и жрать почти ПОЛГИГАБАЙТА памяти, имея при этом 56 потоков?! SV.>>>Каждый раз в таких случаях хочется спросить: вы вообще знаете, что такое виртуальная память? Q>>А 56 тредов -- тоже виртуальные?
SV.>С тредами хрен его знает. Может, протекло что-нибудь и уже фиксят. Как бы то ни было, даже если они не засуспежены, но там есть слипы — тоже потеря небольшая. Судя по общему потреблению ЦПУ процессом, так оно и есть.
Для начала, если вы интересуетесь кишками, вам надо вместо этого фраерского якобы менеджера задач поставить приличный тул (Process Explorer). Затем посмотреть на вкладку Performance в свойствах процесса. Допустим, сейчас на моей машине два процесса sqlserver.exe, каждый жрет по 8.6 (!) гигабайта (а там реальная база, просто сейчас не используется). Working set — 12 мегабайт. Пиковый — 75. У второго — побольше: текущий 65, пиковый сто с лишним. Но базенция там неслабая.
Там же можно и потоки поглядеть. Оба sqlserver'а их насоздавали аж 85 штук. И совсем не ощущается. Вернее всего, это пул потоков. Вхолостую вреда не причиняет.
Здравствуйте, quwy, Вы писали:
C>>Потому, что банк-клиент писали полные уроды. Чего тут непонятного-то? Q>Если платформа после завершения программы продолжает держать ресурсы, значит авторы платформы тоже виноваты.
Говорю же — писали уроды. Скорее всего, забыли поставить выход при закрытии окна.
В Win32-приложении банально так же можно сделать — на WM_CLOSE закрыть окно, но не сделать Destroy.
Здравствуйте, SV., Вы писали:
SV.>Майкрософт сделала большую ошибку, показывая под названием "Память" виртуальную память. Надо было Working set или типа. Вопросов бы не было.
Вот это просто must-read, прежде, чем высказывать любое недовольство прожорливыми программами:
Здравствуйте, Cyberax, Вы писали:
C>>>Потому, что банк-клиент писали полные уроды. Чего тут непонятного-то? Q>>Если платформа после завершения программы продолжает держать ресурсы, значит авторы платформы тоже виноваты. C>Говорю же — писали уроды. Скорее всего, забыли поставить выход при закрытии окна. C>В Win32-приложении банально так же можно сделать — на WM_CLOSE закрыть окно, но не сделать Destroy.
Даже если это апплет, а браузер, его запустивший, уже закрыт? Простите, но такого в нормальной платформе быть не должно.
Здравствуйте, SV., Вы писали:
Q>>>>Почему после завершения жабапрограммы, процесс java.exe продолжает висеть и жрать почти ПОЛГИГАБАЙТА памяти, имея при этом 56 потоков?! SV.>>>Каждый раз в таких случаях хочется спросить: вы вообще знаете, что такое виртуальная память? Q>>А 56 тредов -- тоже виртуальные? SV.>С тредами хрен его знает. Может, протекло что-нибудь и уже фиксят.
Что это делает в продакшене? Тестировать пред релизом уже не модно?
SV.>Как бы то ни было, даже если они не засуспежены, но там есть слипы — тоже потеря небольшая. Судя по общему потреблению ЦПУ процессом, так оно и есть.
Переключение контекста не слишком дешевая операция, чтобы оставлять треды после завершения программы.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, quwy, Вы писали:
Q>>1. В стиле той системы, в которой запущена программа. Q>>2. Отзывчивый и без лагов. C>Eclipse. Впрочем, там лаги бывают из-за логики, но не в интерфейсе.
Здравствуйте, kochetkov.vladimir, Вы писали:
Q>>>1. В стиле той системы, в которой запущена программа. Q>>>2. Отзывчивый и без лагов. C>>Eclipse. Впрочем, там лаги бывают из-за логики, но не в интерфейсе. KV>Idea тоже ничего так
Она проваливает первый пункт, потому её и не привёл.
Здравствуйте, quwy, Вы писали:
C>>Говорю же — писали уроды. Скорее всего, забыли поставить выход при закрытии окна. C>>В Win32-приложении банально так же можно сделать — на WM_CLOSE закрыть окно, но не сделать Destroy. Q>Даже если это апплет, а браузер, его запустивший, уже закрыт? Простите, но такого в нормальной платформе быть не должно.
Некоторые уроды любят из апплета запускать отдельную внешнюю Java.
Здравствуйте, Cyberax, Вы писали:
C>>>Говорю же — писали уроды. Скорее всего, забыли поставить выход при закрытии окна. C>>>В Win32-приложении банально так же можно сделать — на WM_CLOSE закрыть окно, но не сделать Destroy. Q>>Даже если это апплет, а браузер, его запустивший, уже закрыт? Простите, но такого в нормальной платформе быть не должно. C>Некоторые уроды любят из апплета запускать отдельную внешнюю Java.
То есть дерево процессов не завершается при окончании работы инициализирующего скрипта?
Здравствуйте, quwy, Вы писали:
Q>>>Даже если это апплет, а браузер, его запустивший, уже закрыт? Простите, но такого в нормальной платформе быть не должно. C>>Некоторые уроды любят из апплета запускать отдельную внешнюю Java. Q>То есть дерево процессов не завершается при окончании работы инициализирующего скрипта?
Представь, что ты из браузера распаковал и запустил exe-файл. Примерно та же ситуация.
Я как раз такое поведение видел у одного клиент-банка ОЧЕНЬ крупного банка в США. Зачем так нужно было делать — для меня осталось загадкой.
Здравствуйте, о_О, Вы писали:
Q>>Никогда на держал на своем компьютере это гуано, но вот пришлось поставить клиент-банк, написанный на жабе... о_О>поздравляю, теперь твоя системы потенциально скомпрометирована. о_О>я для того чтобы поиграть в minecraft распаковывал её под виртуалкой на флешку %) запускаю через командную строку
Гы, аналогично.
о_О>>я для того чтобы поиграть в minecraft распаковывал её под виртуалкой на флешку %) запускаю через командную строку Q>Ну я немного соврал, что жабы у меня на машине не было. Был клиент Oracle, в котором все морды написаны на жабе (убогие и страшные как атомная война). Но там jre заэмбеддино довольно глубоко, лежит себе в подпапке и не отсвечивает, мусорные процессы за собой не оставляет, в автозагрузку ничего не пихает.
Ну, то есть, они тебя разве что внешним видом пугали(это да, Оракл никогда не заморачивался с этим).
Но ты нашел какой-то клиент-банк(кстати, все виденные мной клиент-банки — жуткое говнище), который не завершает работу при закрытии окна, и отчего-то решил, что в этом виновата джава .
Или ты думаешь, что говноприложения только на джаве пишутся? Тогда рекомендую обратить внимание, например, на приблуды от производителей железа — вот уж где квинтэссенция бесполезности и монструозности, без всяких жаб.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Q>Если платформа после завершения программы продолжает держать ресурсы, значит авторы платформы тоже виноваты.
А с чего ты решил, что программа завершилась?
Если что, в джаве(и не только в ней) программа и окно — совершенно разные вещи. Более того, подавляющее большинство java программ в принципе не имеют никакого юзеринтерфейса.
Я с апплетами очень давно дела не имел, но есть мнение, что подписанный апплет вполне может проигнорить сигнал на закрытие, и жить своей жизнью(гуи тред умрет, но всем остальным на это как-бы пофигу).
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Ну, некоторые лаги у Идеи таки бывают. Но за ту гору функционала, которую она умеет, ей можно простить.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, Eugeny__, Вы писали:
Q>>Если платформа после завершения программы продолжает держать ресурсы, значит авторы платформы тоже виноваты. E__>А с чего ты решил, что программа завершилась?
Хорошо, а есть способ узнать, выполняется ли какой-либо процесс в jre?
Здравствуйте, Eugeny__, Вы писали:
о_О>>>я для того чтобы поиграть в minecraft распаковывал её под виртуалкой на флешку %) запускаю через командную строку Q>>Ну я немного соврал, что жабы у меня на машине не было. Был клиент Oracle, в котором все морды написаны на жабе (убогие и страшные как атомная война). Но там jre заэмбеддино довольно глубоко, лежит себе в подпапке и не отсвечивает, мусорные процессы за собой не оставляет, в автозагрузку ничего не пихает. E__>Ну, то есть, они тебя разве что внешним видом пугали(это да, Оракл никогда не заморачивался с этим).
Интерфейс не только очень страшный, но и очень неотзывчивый. Даже на современном железе виден процесс отрисовки элементов.
E__>Но ты нашел какой-то клиент-банк(кстати, все виденные мной клиент-банки — жуткое говнище), который не завершает работу при закрытии окна, и отчего-то решил, что в этом виновата джава .
Как проверить наличие java-процесса?
E__>Или ты думаешь, что говноприложения только на джаве пишутся? Тогда рекомендую обратить внимание, например, на приблуды от производителей железа — вот уж где квинтэссенция бесполезности и монструозности, без всяких жаб.
Так никто и не спорит.
Здравствуйте, Eye of Hell, Вы писали:
Q>>Переключение контекста не слишком дешевая операция, чтобы оставлять треды после завершения программы. EOH>Насколько я помню, тред, ждущий на объекте синхронизации, в переключении контекста не учавствует.
Переключения как такового конечно не происходит, но в кольце он висит и шедулер работой все равно загружает.
Здравствуйте, quwy, Вы писали:
Q>Здравствуйте, Eugeny__, Вы писали:
Q>>>Если платформа после завершения программы продолжает держать ресурсы, значит авторы платформы тоже виноваты. E__>>А с чего ты решил, что программа завершилась? Q>Хорошо, а есть способ узнать, выполняется ли какой-либо процесс в jre?
Но браузер и апплет, ясен пень, придется рестартануть, чтобы новые сеттингсы подтянуло.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.