Генерация MAC-адреса

Я переустановил Mint 18.1, и проблема исчезла. Использование памяти остается

Насколько я понимаю, что произошло, если это может помочь кому-то еще, это была утечка памяти в ядре. Сомневаюсь, что течет само ядро, но причиной может быть драйвер.

Я нашел интересный документ об утечке памяти ядра: https://01.org/linuxgraphics/gfx-docs/drm/dev-tools/kmemleak.html. Я не уверен, какие версии ядра могут включить это, но стандартное ядро ​​​​4.10 в Ubuntu не делает этого (необходимо перекомпилировать ядро ​​​​с включенной опцией).

Следуя этой идее, я наконец нашел причину. Несколько недель назад я установил загрузочную диаграмму. Не отображается как системное приложение. Я переустановил его, и результат довольно прост. Использование памяти продолжает медленно расти, пока количество запущенных процессов.

Та же проблема описана здесь: https://forums.linuxmint.com/viewtopic.php?t=226774

0
20.06.2017, 16:02
2 ответа

Почему мин=1000 и макс=10000? Существует 65536 возможных двухоктетных значений, есть ли какая-то причина использовать только часть из них?

В оболочках с $RANDOM (по крайней мере, Bash/ksh93/zsh) вы делаете это полностью в оболочке:

printf "00:0c:29:51:%02x:%02x\n" $(( $RANDOM % 256 )) $(( $RANDOM % 256 )) 

Или, если вы хотите сохранить сгенерированные адреса в файле, и повторяйте попытку, пока не получите новый, что-то вроде этого:

file=./generated_macs
gen() { 
    printf "00:0c:29:51:%02x:%02x\n" $(( $RANDOM % 256 )) $(( $RANDOM % 256)); 
}
while mac=$(gen); grep -q "$mac" "$file" ; do true ; done    
echo "$mac" >> "$file"
3
28.01.2020, 02:25

Вы можете использовать /dev/urandom для его создания:

end=$( for i in $(seq 1 2); do character=$( tr -dc "0-9A-E" < /dev/urandom | head -c 2); printf ":%s" $character; done); echo "00:0c:29:51"$end
0
28.01.2020, 02:25

Теги

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