Большое выделение памяти приводит к подкачке ядра, даже если свободной памяти более чем достаточно

Вы можете проверить состояние сетевого интерфейса из файла /sys/class/net/$interface/carrier.(1= подключен, 0= отключен)

Чтобы получить отключенный сетевой интерфейс:

for i in $( ls /sys/class/net );do 
    if grep -q 0 /sys/class/net/$i/carrier; then
        echo $i; 
    fi
done
3
01.11.2019, 10:01
1 ответ

Я не уверен, как это делается в современном C++, но вы можете заглянуть в mlock(2), чтобы отключить подкачку страниц памяти.

Мне также любопытно, что произойдет, если вы немедленно перезапустите его. Я ожидаю, что вызов резерва, который вы используете, на самом деле не касается всех страниц памяти (и, таким образом, не заставляет их фактически выделяться )-. на самом деле предоставьте память, которую вы запросили в первую очередь, не меняя ее местами (вы сможете опровергнуть это, посмотрев на размер резидента ).

1
27.01.2020, 21:29

Теги

Похожие вопросы