Я обнаружил, что перезапуск swap может очень помочь в системах с медленными дисками и ограниченной оперативной памятью. Конечно, как уже упоминалось, способ сделать это - запустить sudo swapoff -a; sudo swapon -a. Проблема здесь в том, что если объема памяти недостаточно, это вызовет всевозможные проблемы.
Я написал сценарий, который я называю toggle_swap, который работал для меня в течение последних нескольких лет. Он проверяет наличие достаточной свободной памяти перед фактическим отключением обмена. Вот он:
#!/bin/bash
free_data="$(free)"
mem_data="$(echo "$free_data" | grep 'Mem:')"
free_mem="$(echo "$mem_data" | awk '{print $4}')"
buffers="$(echo "$mem_data" | awk '{print $6}')"
cache="$(echo "$mem_data" | awk '{print $7}')"
total_free=$((free_mem + buffers + cache))
used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"
echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
if [[ $used_swap -eq 0 ]]; then
echo "Congratulations! No swap is in use."
elif [[ $used_swap -lt $total_free ]]; then
echo "Freeing swap..."
sudo swapoff -a
sudo swapon -a
else
echo "Not enough free memory. Exiting."
exit 1
fi
Получил ту же проблему, нашел способ ее исправить: «Системные настройки» -> «Внешний вид» -> Тема переключателя.
Он восстановил мои значки.
Приветствия!