Ovion
Hi,
da ich ein wenig Arbeitsspeicher übrig habe, hatte ich folgende Überlegung angestellt:
Ich hab mein System auf 'ner SSD, mein /home auf 'ner HDD.
Wenn ich jetzt arbeite, könnte ich doch mein Projektverzeichnis in ein tmpfs (bspw. als Ordner in /tmp) kopieren und die Festplatte schlafen legen. Da ich alle Daten im tmpfs habe, braucht die Festplatte nicht anlaufen, wenn Daten aus dem Projekt nachgeladen werden oder wenn Sachen gespeichert werden (ich weiß, die Platte cacht auch, aber irgendwann muss sie auch mal schreiben, gerade wenn größere Dateien, die ich nur temporär brauche, geschrieben werden).
Nachteil und Risiko ist natürlich, dass bei einem Strom-weg der Arbeitsfortschritt weg wäre, Vorteil könnte weniger Stromverbrauch durch schlafende Platte => längere Akkulaufzeit, sowie eine bessere Responsivität bzgl. der Daten sein.
Hierbei bin ich mir nicht sicher, ob die Vorteile entsprechen bemerkbar wären und wäre froh, wenn jemand, der mehr Ahnung hat als ich, eine Einschätzung abgeben würde.
Danke!
efreak4u
Der Stromspareffekt tritt auf jeden Fall nur dann ein, wenn die Festplatte wirklich lange Schlaeft, da bei jedem Anlaufen der Platte ein vielfaches der Energie vom laufenden Betrieb benoetigt wird.
[gelöscht]
Das ist jetzt auch nur eine Idee ohne wirklich viel Hintergrundwissen, aber du könntest dich mal zu bcache, bzw. den anderen Sachen die eine SSD als cache für eine HDD verwenden informieren. Damit könnte sowas, wenn man es richtig konfiguriert möglich sein.
Als allererstes würde ich aber mal schauen, wie viel die Platte braucht (auch in unterschiedlichen Situation, siehe efreak4us Anlauf Beispiel) um abzuschätzen, ob sicher der Aufwand überhaupt lohnt.
Um das syncen zu automatisieren könntest du einen Blick auf anything-sync-daemon werfen (hat einen wiki Artikel und ist im aur).
Ovion
Das mit dem Stromverbrauch bei Spinup ist allerdings ein Punkt. Gibt es Möglichkeiten, unter Linux direkt den aktuellen Stromverbrauch der Platte abrufen zu können, damit ich mal abschätzen kann, über welchen Stromverbrauch wir hier reden? Ich hab bei meiner Recherche bisher nur hdparm zum Spindown gefunden, aber nix zu power consumption. Ich danke auf jeden Fall für den Hinweis.
anything-sync-daemon scheint genau das zu tun, was ich vorhatte, danke für den Tipp! Aber beim Stromverbrauchsvergleich will ich dann doch mal dranbleiben. SSD-Caching für die HDD will ich eher nicht, RAM-caching für die HDD wäre eher was, aber das macht der Kernel afaik ja bereits.
n815i3xjx8lomlny
Bzgl Stromverbrauch der Festplatte, ich habe mal mittels powerstat (ist im AUR) verglichen und der Unterschied war ziemlich genau 1 Watt.
Aber wenn du die Festplatte öfters schlafen legst, wirst du leider nichts gewinnen. Ich habe da in den letzten Monaten auch herumexperimentiert. Es bringt nichts. Außer wenn du beispielsweise nen Film schauen willst, diesen in ein tmpfs, zB in /tmp, kopierst und alles Unnötige abgeschaltet hast, also möglichst vieles, was dafür sorgen könnte, dass die Festplatte wieder hochfahren muss, gestoppt hast. Dann hast du nen Gewinn.
Bzgl Aufwachen der Festplatte: Ich meine mich zu erinnern, dass es ein Programm / Skript / Kommandozeile gibt, welches anzeigt, welcher Prozess für das Erwachen der Festplatte verantwortlich war. Aber ich kann den Artikel dazu nicht mehr finden. Meine es war auf pro-linux.de, aber kann mich auch täuschen. Kennt das zufällig jemand?
Creshal
Naja, so gut, wie der Kernel cacht, ists schwer, da noch irgendwelche Verbesserungen rauszuschinden.
fs4000
Ich kenne nur /proc/sys/vm/block_dump, das loggt allen Block I/O. Nur blöderweise schreibt das Journal das ganze Zeug dann nach /var/log/ und produziert eine Endlosschleife.
Ovion
Creshal schriebNaja, so gut, wie der Kernel cacht, ists schwer, da noch irgendwelche Verbesserungen rauszuschinden.
Wie entscheidet er denn, was er cacht? Kann ich das beeinflussen? Wenn er ideal cached, dürften auch so Späße wie der anything-sync-daemon überflüssig sein, nehme ich an? Würde aber eben davon abhängen, nach welchen Regeln der Kernel cacht.
fs4000 schrieb
Ich kenne nur /proc/sys/vm/block_dump, das loggt allen Block I/O. Nur blöderweise schreibt das Journal das ganze Zeug dann nach /var/log/ und produziert eine Endlosschleife.
Die Aussage verstehe ich nicht ganz. Besagtes block_dump ist doch eine auslesbare Datei, wie produziert das Journal damit denn eine Endlosschleife?
fs4000
Unter /proc/sys/ sind nur Einstellungsoptionen, die, die man mit sysctl steuern kann. Du musst da eine 1 reinschreiben, dann loggt der Kernel alles mit und Journal schreibts auf die Platte, der Kernel loggt das wieder und Journal …
Creshal
http://www.westnet.com/~gsmith/content/linux-pdflush.htm
http://serverfault.com/questions/43383/caching-preloading-files-on-linux-into-ram
Sollten ein paar Informationen geben.
> Die Aussage verstehe ich nicht ganz. Besagtes block_dump ist doch eine auslesbare Datei
Nope, block_dump ist nur ein Schalter, um die Daten in den Kernelbuffer zu protokollieren… der von journald (und idR auch syslog) auf die Festplatte geloggt wird. Entsprechend hast du da eine schöne Endlosschleife an Festplattenzugriffen.
Lycanthropist
Ovion schriebanything-sync-daemon scheint genau das zu tun, was ich vorhatte, danke für den Tipp! Aber beim Stromverbrauchsvergleich will ich dann doch mal dranbleiben. SSD-Caching für die HDD will ich eher nicht, RAM-caching für die HDD wäre eher was, aber das macht der Kernel afaik ja bereits.
Eine andere Möglichkeit wäre auch, nur eine SSD zu verwenden. Es gibt aktuell schon Modelle, die sich mit nur 150 mW im Betrieb begnügen. Das ist etwa ein drittel von dem, was moderne Festplatten im Leerlauf (!) benötigen. Das geht aber natürlich nur, wenn man nicht so viel Platz braucht. 😉