Были у меня фризы. Проявлялось это так: ты сидишь, что-то делаешь, и вдруг бац -- система замирает на секунду или около того. Как выяснилось, это было из-за парковки HDD. В сухом остатке --
# echo "vm.vfs_cache_pressure = 1" > /etc/sysctl.d/00_vfs_cache.conf
Если у вас установлены pm-utils, нужно скопировать из /usr/lib,{,64}/pm-utils нужные вам скрипты, в моем случае это был скрипт harddrive, вот его отличия от умолчального:
$ diff -u /usr/lib64/pm-utils/power.d/harddrive /etc/pm/power.d/harddrive
--- /usr/lib64/pm-utils/power.d/harddrive 2018-04-13 16:28:47.000000000 +0300
+++ /etc/pm/power.d/harddrive 2016-12-28 01:35:15.612086836 +0300
@@ -6,12 +6,12 @@
DRIVE_SPINDOWN_VALUE_AC="${DRIVE_SPINDOWN_VALUE_AC:-0}"
DRIVE_WRITE_CACHE_AC="${DRIVE_WRITE_CACHE_AC:-1}"
DRIVE_POWER_MGMT_AC="${DRIVE_POWER_MGMT_AC:-254}"
-DRIVE_ACOUSTIC_MGMT_AC="${DRIVE_ACOUSTIC_MGMT_AC:-0}"
+DRIVE_ACOUSTIC_MGMT_AC="${DRIVE_ACOUSTIC_MGMT_AC:-254}"
# Default values on battery
-DRIVE_SPINDOWN_VALUE_BAT="${DRIVE_SPINDOWN_VALUE_BAT:-6}"
-DRIVE_WRITE_CACHE_BAT="${DRIVE_WRITE_CACHE_BAT:-0}"
-DRIVE_POWER_MGMT_BAT="${DRIVE_POWER_MGMT_BAT:-128}"
+DRIVE_SPINDOWN_VALUE_BAT="${DRIVE_SPINDOWN_VALUE_BAT:-0}"
+DRIVE_WRITE_CACHE_BAT="${DRIVE_WRITE_CACHE_BAT:-1}"
+DRIVE_POWER_MGMT_BAT="${DRIVE_POWER_MGMT_BAT:-254}"
DRIVE_ACOUSTIC_MGMT_BAT="${DRIVE_ACOUSTIC_MGMT_BAT:-254}"
# Default devices to operate on
@@ -65,11 +65,10 @@
# disable write caching, do not spin down the drive, disable APM
# and acoustic management, and sync everything to drive.
printf "Disabling hard drive power management for %s..." "$dev"
- hdparm -W $DRIVE_WRITE_CACHE_AC \
- -S $DRIVE_SPINDOWN_VALUE_AC \
- -B $DRIVE_POWER_MGMT_AC \
- -M $DRIVE_ACOUSTIC_MGMT_AC $dev >/dev/null 2>&1 \
- && echo Done. || echo Failed.
+ hdparm -q -W ${DRIVE_WRITE_CACHE_AC} \
+ -S ${DRIVE_SPINDOWN_VALUE_AC} \
+ -B ${DRIVE_POWER_MGMT_AC} $dev \
+ 2>&1>/dev/null && echo Done. || echo Failed.
done
}
@@ -79,9 +78,8 @@
printf "Enabling power management for %s..." "$dev"
hdparm -W $DRIVE_WRITE_CACHE_BAT \
-S $DRIVE_SPINDOWN_VALUE_BAT \
- -B $DRIVE_POWER_MGMT_BAT \
- -M $DRIVE_ACOUSTIC_MGMT_BAT -F $dev >/dev/null 2>&1 \
- && echo Done. || echo Failed.
+ -B $DRIVE_POWER_MGMT_BAT $dev \
+ 2>&1>/dev/null && echo Done. || echo Failed.
done
}
Скрипт старый, поскольку дело было аж в 2016 году, а с тех пор pm-utils не один раз обновился... Так-то править надо только переменные. Ну, а для openSUSE предлагаю это адаптировать самостоятельно. Сейчас-то фризов и в помине нет, ни на той системе, ни на моем ноуте.
Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580