[devel] Q: CONFIG_PSI_DEFAULT_DISABLED=y
Alexey Sheplyakov
asheplyakov на basealt.ru
Пн Сен 6 18:23:49 MSK 2021
On 06.09.2021 19:03, Andrey Savchenko wrote:
>> Хоть с PSI, хоть без ядро всё равно ведёт учёт занятой/доступной памяти.
>> А планировщик всё равно отслеживает, сколько потоков готово к выполнению,
>> сколько заблокированы, и т.п. C PSI ядро может предоставить эту информацию
>> в userspace.
>
> Это не так. Pressure stall accounting при выключенной опции ядро не
> ведёт.
В тех местах, где и так всё упирается в ввод-вывод (считая манипуляции
таблицами страниц), например, __perform_reclaim, __alloc_pages_direct_compact,
ядро вызывает psi_memstall_enter/psi_memstall_leave.
Которые по сути ставят/снимают флажок.
>> Так что пусть по умолчанию будет включено. А кто хочет рискнуть стабильностью
>> системы ради (мнимого) прироста производительности - пусть **отключают**.
>> Вместе с /proc/loadavg
>
> Надеюсь, вы понимаете разницу между общим счётчиком и детализацией
> для каждого процесса?
$ cat /proc/loadavg
0.63 0.50 0.42 1/1546 251275
$ cat /proc/pressure/memory
some avg10=0.00 avg60=0.00 avg300=0.00 total=2657355
full avg10=0.00 avg60=0.00 avg300=0.00 total=1480309
Ровно та же детализация, что у loadavg. Только, грубо говоря,
есть loadavg ещё и для памяти и дисков (IO).
> Вообще, memory accounting в ядре затратен и без нужды лучше не использовать.
Парламент не место для дискуссий, ага. А ядро не место для учёта памяти.
Это надо отлить в граните.
Подробная информация о списке рассылки Devel