Ядро Linux предоставляет настраиваемую настройку, которая контролирует подкачку
$ cat /proc/sys/vm/swappiness
60
открыть /etc/sysctl.conf
от имени пользователя root. Затем измените или добавьте эту строку в файл:
vm.swappiness = 10
для изменения значения подкачки временно попробуйте эту команду:
$ echo 50 > /proc/sys/vm/swappiness
Вот пример кода, демонстрирующий, как можно иметь несколько разделов «работы», обновляющих один и тот же индикатор выполнения. Датчик Whiptail прикреплен к файловому дескриптору сценария 3, поэтому его можно обновить в любой момент выполнения сценария. (Индикатор закрывается автоматически по завершении сценария или при явном закрытии FD 3.)
#!/bin/bash
#
pid=
tmpd=
tidyUp()
{
# Clean up when we're done
exec 3>&-
[[ -n "$tmpd" ]] && rm -rf "$tmpd"
}
trap 'ss=$?; tidyUp; exit $ss' 1 2 15
updateGauge()
{
local percent="$1" message="$2"
printf "XXX\n%d\n%s\nXXX\n" $percent "$message" >&3
}
# Create the FIFO for communicating with the whiptail gauge
tmpd=$(mktemp --tmpdir --directory "wt.XXXXXXXXXX")
mkfifo "$tmpd/fifo"
# Start up the whiptail gauge and associate FD 3 with its status
whiptail --title 'Progress meter' --gauge 'Starting examples' 6 50 0 <"$tmpd/fifo" &
exec 3>"$tmpd/fifo"
# Real code starts here
percent=0
for example in 1 2 3
do
updateGauge $percent "Getting example $example"
sleep 3 # wget something
percent=$((percent + 20))
done
for another in 4 5
do
updateGauge $percent "Doing work for another example $another"
sleep 2 # do some work
percent=$((percent + 20))
done
# Done
tidyUp
exit 0