Σε αυτόν το γρήγορο οδηγό θα σας δείξω πως θα επιλύσετε ένα πρόβλημα το οποίο όσοι χρησιμοποιείτε laptop πιθανότατα θα έχετε συναντήσει. Αν έχετε παρατηρήσει ότι ο HDD δίσκος σας κατά διαστήματα σταματάει για λίγο και ξεκινάει και πάλι (spindown), αυτό σημαίνει ότι ότι το APM στο δίσκο σας είναι “επιθετικά” ρυθμισμένο, ως μέσο για εξοικονόμηση ενέργειας.
Η απενεργοποίηση των spindowns στο Linux είναι πολύ εύκολη, και γίνεται δίνοντας την εξής εντολή στο τερματικό σας: sudo hdparm -B 255 /dev/sd*
(όπου * είναι ο σκληρός δίσκος που χρησιμοποιείτε, π.χ. sda). Το -B
στην εντολή χωρίς κάποιον αριθμό, δίνει την τιμή του APM. Οι τιμές που μπορούν να δοθούν είναι από 1
έως 255
, όπου μέχρι το 254
ορίζεται η συχνότητα των spindowns. Η τιμή 255
απενεργοποιεί το APM.
Αν τρέξετε την παραπάνω εντολή, ο HDD σας θα λειτουργεί χωρίς spindowns μέχρι να κλείσετε τον υπολογιστή σας ή αν κάνετε suspend.
Για την αυτόματη επαναρύθμιση του APM, χρειάζεται να δημιουργήσετε μια υπηρεσία για το init system που χρησιμοποιείτε. Παρακάτω θα παραθέσω παραδείγματα για το systemd και το runit.
Για συστήματα με systemd
Οι παρακάτω οδηγίες δίνονται για τις διανομές που χρησιμοποιούν το systemd (Debian, Ubuntu, Arch, Fedora κλπ).
- Δημιουργούμε το αρχείο
/etc/systemd/system/apm.service
ως root. - Στο αρχείο
apm.service
γράφουμε τα εξής:
[Unit]
Description=Local system resume actions
After=suspend.target hybrid-sleep.target hibernate.target
[Service]
Type=simple
ExecStart=/usr/bin/hdparm -B 255 /dev/sd*
[Install]
WantedBy=sleep.target
(Σημείωση: όπου *
είναι το γράμμα του σκληρού δίσκου, π.χ. sda
, sdb
κλπ.)
3. Ενεργοποιούμε την υπηρεσία με την εντολή sudo systemctl start apm
(πηγή: Arch Wiki)
Για συστήματα με runit
Οι παρακάτω οδηγίες δίνονται για διανομές οι οποίες χρησιμοποιούν το runit (Artix, Void, Gentoo κλπ.)
- Δημιουργούμε το directory
/etc/sv/apm
(σημείωση: στο Artix δημιουργείτε το directory στο/etc/runit/sv
. Για λεπτομέρειες όσον αφορά άλλες διανομές, ανατρέξτε στο documentation της διανομής σας.) - Μέσα στο
apm
directory δημιουργούμε το αρχείοrun
ως root. - Στο αρχείο
run
γράφουμε τα εξής:
#!/bin/sh
hdparm -B 255 /dev/sd*
(όπου * το γράμμα για το σκληρό δίσκο)
- Ενεργοποιούμε την υπηρεσία δημιουργώντας το εξής symlink:
sudo ln -s /etc/sv/apm /var/service
(στο Artix η εντολή είναιsudo ln -s /etc/runit/sv/apm /run/runit/service
)
Με αυτόν τον τρόπο δεν θα έχετε spindowns μετά από το suspend του συστήματός σας.