Ослободување на рачниот уред за меморија 1.4 од почетокот

По осум месеци развој објавено ослободување на процесот на позадина рана соба 1.4, кој периодично ја проверува количината на достапна меморија (MemAvailable, SwapFree) и се обидува во рана фаза да одговори на појавата на недостаток на меморија. Кодот на проектот е напишан во C и дистрибуирани од под лиценци на MIT.

Ако количината на достапна меморија е помала од наведената вредност, тогаш earlyoom ќе принуди (со испраќање SIGTERM или SIGKILL) да го прекине процесот што троши најмногу меморија (има највисок /proc/*/oom_score), без да предизвика системот состојба за да се бришат системските бафери и да се меша со замената на операцијата (ракувачот OOM (Out Of Memory) во кернелот се активира кога состојбата на ниска меморија веќе достигна критични вредности и обично до овој момент системот повеќе не реагира на дејствата на корисникот) .

Earlyoom поддржува испраќање известувања за присилно прекинати процеси на работната површина (со користење известување-испрати), а исто така обезбедува можност за дефинирање правила во кои, користејќи редовни изрази, можете да ги наведете имињата на процесите кои се претпочитаат да бидат прекинати („- -prefer“ опција) или стопирана треба да се избегнува (опција „—evoid“).

Главните промени во новото издание:

  • Поради мрзливо вчитување процесни атрибути, логиката за избор на процеси што треба да се завршат е забрзана за 50%;
  • UID на процесот што се завршува се рефлектира во дневникот, покрај PID и името на процесот;
  • Додадено истакнување на дневникот за отстранување грешки во светло сива боја;
  • Кодот беше исчистен;
  • Кога е можно, беа декларирани блок-локални променливи;
  • Додадена е поставка PATH_LEN за да се замени вредноста на големината на баферот вградена во кодот;
  • Осигурува дека cppcheck започнува кога е достапно;
  • Додадено е тест за изведба „make bench“;
  • Збирот на тестови е проширен (направи тест);
  • Спроведено ресетирање на правата на root во датотеката systemd earlyoom.service unit. Ова е промена паузи можност за GUI известувања. За да се овозможат известувања за GUI, се предлага да се вратат правата на root со откоментирање на „DynamicUser=true“. Оневозможување на root исто така приводит до неможноста да се добијат информации за потрошувачката на меморија при монтажа на /proc во режим hidepid=1 или hidepid=2.

Извор: opennet.ru

Додадете коментар