jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5916

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

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

Читать полностью…

pro.jvm

если выключить оверкоммитинг, то да, mmap будет действительно резервировать

и соответственно терабайт аллоцировать уже не выйдет

Читать полностью…

pro.jvm

вы понимаете что спорите о значении слова резерв и каждый понимает это по своему?

Читать полностью…

pro.jvm

Я хз как сейчас, но лет 10 назад при большом кол-ве тредов и ненастроенном Xss точно возникал OOM.
А после настройки Xss исчезал (Linux, Oracle JDK)

Читать полностью…

pro.jvm

там сама jvm eagain превращает в свой oom

Читать полностью…

pro.jvm

см. res в том скриншоте, который я приводил

Читать полностью…

pro.jvm

это разве не называется резерв? просто os тебя немного обманывает(но вроде как память тебе обещали)

Читать полностью…

pro.jvm

ага а почему у меня OOM при создании кучи тредов были?

Читать полностью…

pro.jvm

https://blogs.oracle.com/javamagazine/post/java-virtual-threads

Читать полностью…

pro.jvm

нигде он не резервирует ничего

Читать полностью…

pro.jvm

резервирует, просто не в хипе ))

Читать полностью…

pro.jvm

Платформенный не резервирует 1мб

Читать полностью…

pro.jvm

Только это платформенный создается с 1 мб, а виртуальный нет

Читать полностью…

pro.jvm

с каким-нибудь жуком вполне 0.5Mb

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

...но кто в этой дискуссии вообще про него знал до этого момента?

Читать полностью…

pro.jvm

Ещё смотрите какая история

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                
122552 <user> 20 0 11.9g 4.0g 1.2g S 5.5 12.8 10:25.86 idea
122757 <user> 20 0 13.6g 1.1g 51200 S 0.0 3.4 2:38.77 java
4052 root 20 0 13.4g 914972 14052 S 0.0 2.8 2:15.81 java
5642 <user> 20 0 6393844 779456 88892 S 3.6 2.4 17:46.18 jetbrains-toolb
7020 root 20 0 13.7g 693232 12864 S 0.0 2.1 3:22.60 java
4113 999 20 0 2240100 676052 37200 S 0.5 2.1 23:58.94 java


У меня только 32 гига оперативы. Эта история с джава-приложениями на гигабайты виртуальной и минимум резидентной памяти настолько древняя, что я другой и не застал.

Читать полностью…

pro.jvm

что он там резервирует при аллокации терабайта?

Читать полностью…

pro.jvm

void* buf = malloc(999999999999);
printf("%p\n", buf);

Читать полностью…

pro.jvm

точно оом а не eagain?

Читать полностью…

pro.jvm

For JVM processes running on Linux x64, the default stack size is 1 MB, and this space is reserved by the OS each time you launch a new thread. This makes the math pretty simple. For example, 2,000 threads means that 20 GB of stack space needs to be reserved.

Читать полностью…

pro.jvm

он запрашивает, а не резервирует, пока вы только не начали специально ОС подкручивать

Читать полностью…

pro.jvm

ты можешь на линуксе маллокнуть 100 терабайт

Читать полностью…

pro.jvm

Разница по выделению памяти между нативным и виртуальным исключительно в гранулярности

Читать полностью…

pro.jvm

на винде кстати мб резервирует, там же оверкоммитинга нет

Читать полностью…

pro.jvm

И я точно помню, что читал, что жвм сама динамически размером стэка для виртуальных управляет

Читать полностью…

pro.jvm

платформенный стек не в хипе

Читать полностью…

pro.jvm

1мб - это один из классических лимитов. Тебе в любом случае нужно установить верхнюю планку, и резервировать сразу по ней довольно глупо.

Читать полностью…

pro.jvm

ну не мегабайт же
даже не близко ведь, вроде...?

Читать полностью…

pro.jvm

ну это же от сервера зависит.
Quarkus так собственно и делает.
принимает запросы на eventloop vert.x, а дальше, в зависимости от сигнатуры создаёт новый virtual thread или исполняет неблокирующий вызов дальше

Читать полностью…
Subscribe to a channel