The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск обработчика нехватки памяти earlyoom 1.4"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск обработчика нехватки памяти earlyoom 1.4" +/
Сообщение от yaya (?), 10-Мрт-20, 12:50 
> А не должен был? В системе кончилась память - он и возбух.

Я не много знаю про OOM killer, но он там как-то определяет, что убить, а что оставить. Теоретически, он мог прибить не тест, а что-то полезное.

Да и то, пока не будет swap'а - тест не особо интересен. Именно из-за наличия swap'а, можно словить тормоза.

> А кернель сильно древний?

Не знаю, но версия такая: 3.10.0-1062.9.1.el7.x86_64

> Ну и его вручную можно попросить alt-sysrq-f.

Вот что-что, а хоткеи в линуксе/ОС - это ещё одна больная тема, с которой я сталкиваюсь (хотя тут, наверное, X'ы уже виноваты, а не ядро). Элементарно не работают комбинации ctrl-shift-<some-key> (по ctrl-shift у меня переключение языка) (хотя в той же винде в той же программе (kicad, например) всё работает), а вы говорите про alt-sysrq-f, которые я жму - ничего не происходит. То ли оно работает, но не подаёт виду, то ли что-то опять не так с хотекеями... Но запускать свой тот тест и проверять alt-sysrq-f - не хочу рисковать опять жёстко вырубать комп :)

> Я кстати не полностью понял что оно делает с -O2.

0000000000400440 <main>:
  400440:       48 83 ec 08             sub    rsp,0x8
  400444:       0f 1f 40 00             nop    DWORD PTR [rax+0x0]
цикл 1: вызываем malloc(1 GB):
  400448:       bf 00 00 00 40          mov    edi,0x40000000
  40044d:       e8 de ff ff ff          call   400430 <malloc@plt>
делаем "цикл 1", пока он возвращает указатели:
  400452:       48 85 c0                test   rax,rax
  400455:       74 f1                   je     400448 <main+0x8>
цикл 2: заводим счётчик на 1 GB / 8:
  400457:       b8 00 00 04 00          mov    eax,0x40000
  40045c:       0f 1f 40 00             nop    DWORD PTR [rax+0x0]
делаем "цикл 2", пока счётчик не 0:
  400460:       83 e8 01                sub    eax,0x1
  400463:       75 fb                   jne    400460 <main+0x20>
повторяем "цикл 1"
  400465:       eb e1                   jmp    400448 <main+0x8>

Итого: компилятор выпилил запись в память. Мы впустую типа запросим память и впустую прокрутимся в пустых циклах.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск обработчика нехватки памяти earlyoom 1.4, opennews, 02-Мрт-20, 20:25  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру