Cache für Dateien/Verzeichnis deaktivierbar?
- Pyromaniac
- Beiträge: 12
- Registriert: 01.05.2015 10:50:14
Cache für Dateien/Verzeichnis deaktivierbar?
Hallo alle zusammen!
Ich habe eine Frage bezüglich des Dateien-caches. Kann man diesen Cache für bestimmte Dateien und/oder Verzeichnisse deaktivieren? Es geht mir darum, dass ein Script das ich geschrieben habe, das mir Video-Dateien, welche ich in ein bestimmtes Verzeichnis hochlade, in das x265-Format umwandelt, die eingelesenen und neu erstellten Dateien nicht im Cache ablegt. Ich hoffe man versteht diesen Satz?
Also im Prinzip soll alles was sich in dem Verzeichnis (inkl. Unterverzeichnisse) "converter" nicht gecached werden. Ist sowas möglich?
Ich kenne es von der Software "HTS TVheadend", dort kann man das Cachen von den TV-Aufnahmen auch deaktivieren, allerdings stecke ich nicht tief genug in der Materie um zu verstehen wo/wie der Autor das macht. Vorallem macht er es mit C/C++ Code, ich hingegen benutze nur ein shell-script.
Danke schon mal im Voraus
Beste Grüße
Pyro
Ich habe eine Frage bezüglich des Dateien-caches. Kann man diesen Cache für bestimmte Dateien und/oder Verzeichnisse deaktivieren? Es geht mir darum, dass ein Script das ich geschrieben habe, das mir Video-Dateien, welche ich in ein bestimmtes Verzeichnis hochlade, in das x265-Format umwandelt, die eingelesenen und neu erstellten Dateien nicht im Cache ablegt. Ich hoffe man versteht diesen Satz?
Also im Prinzip soll alles was sich in dem Verzeichnis (inkl. Unterverzeichnisse) "converter" nicht gecached werden. Ist sowas möglich?
Ich kenne es von der Software "HTS TVheadend", dort kann man das Cachen von den TV-Aufnahmen auch deaktivieren, allerdings stecke ich nicht tief genug in der Materie um zu verstehen wo/wie der Autor das macht. Vorallem macht er es mit C/C++ Code, ich hingegen benutze nur ein shell-script.
Danke schon mal im Voraus
Beste Grüße
Pyro
-
- Beiträge: 827
- Registriert: 26.05.2008 12:04:54
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Nörten-Hardenberg
-
Kontaktdaten:
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Wüsste es auf Anhieb leider nicht.
Aber wozu willst du den Datei Cache dort deaktivieren?
Bei einer HDD würde es die Performance enorm zerstören.
Um RAM zusparen, macht es auch kauim Sinn da der Kernel den Cache selbst verwaltet und frei macht wenn er welchen braucht.
Ohne Hintergrundwissen, was der Zweck sein soll, würde ich da kaum einen Nutzen sehen.
Gerade wenn Daten im Cache, also direkt im RAM abgelegt, gelesen/geschrieben oder verarbeitet werden können, würde ich dies so lassen.
Direkt auf SSD/HDD arbeiten ist dort um einige größen langsamer.
Auch wenn SSDs hier noch mehr Tempo haben können also HDDs.
Nachtrag:
Hier wäre was für dich:
https://github.com/Feh/nocache
Aber ob es sinnvoll ist, kann ich eben mangels Erfahrungen zum Thema Video Konverter und deinem Vorhaben nicht sagen.
Aktuell schätze ich es aber als eher falschen Ansatz ein.
Würde mich aber freuen, wenn du mich hier etwas aufklären könntest.
Martin
Aber wozu willst du den Datei Cache dort deaktivieren?
Bei einer HDD würde es die Performance enorm zerstören.
Um RAM zusparen, macht es auch kauim Sinn da der Kernel den Cache selbst verwaltet und frei macht wenn er welchen braucht.
Ohne Hintergrundwissen, was der Zweck sein soll, würde ich da kaum einen Nutzen sehen.
Gerade wenn Daten im Cache, also direkt im RAM abgelegt, gelesen/geschrieben oder verarbeitet werden können, würde ich dies so lassen.
Direkt auf SSD/HDD arbeiten ist dort um einige größen langsamer.
Auch wenn SSDs hier noch mehr Tempo haben können also HDDs.
Nachtrag:
Hier wäre was für dich:
https://github.com/Feh/nocache
Aber ob es sinnvoll ist, kann ich eben mangels Erfahrungen zum Thema Video Konverter und deinem Vorhaben nicht sagen.
Aktuell schätze ich es aber als eher falschen Ansatz ein.
Würde mich aber freuen, wenn du mich hier etwas aufklären könntest.
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Re: Cache für Dateien/Verzeichnis deaktivierbar?
@Milbret
was aber, wenn die bearbeiteten Datein so groß oder größer als vorhandenes RAM sind?
Das Laden resp. Kopieren/Bearbeiten einer solchen Datei dürfte den "guten" Cache leeren, den mit den Libs, Programmen, Benutzer-/Konfig-Dateien.
Hier sollte das Cachen dann vielleicht eher dem verwendeten Programm/Converter überlassen werden (falls möglich).
was aber, wenn die bearbeiteten Datein so groß oder größer als vorhandenes RAM sind?
Das Laden resp. Kopieren/Bearbeiten einer solchen Datei dürfte den "guten" Cache leeren, den mit den Libs, Programmen, Benutzer-/Konfig-Dateien.
Hier sollte das Cachen dann vielleicht eher dem verwendeten Programm/Converter überlassen werden (falls möglich).
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 827
- Registriert: 26.05.2008 12:04:54
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Nörten-Hardenberg
-
Kontaktdaten:
Re: Cache für Dateien/Verzeichnis deaktivierbar?
@rendegast
Spielt keine Rolle.
Soweit mir bekannt ist, wird nicht die gesamte sondern nur Teile davon gecacht (Page Cache).
Und selbst wenn dem nicht so sein sollte, wäre der Kernel klug genug das zu merken.
Aber dafür bin ich in dem Thema nicht tief genug drin.
Trotzdem halte ich den Ansatz zum abschalten als falschen Ansatz.
Martin
Spielt keine Rolle.
Soweit mir bekannt ist, wird nicht die gesamte sondern nur Teile davon gecacht (Page Cache).
Und selbst wenn dem nicht so sein sollte, wäre der Kernel klug genug das zu merken.
Aber dafür bin ich in dem Thema nicht tief genug drin.
Trotzdem halte ich den Ansatz zum abschalten als falschen Ansatz.
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Wobei das Abschalten wohl auch nicht trivial ist
google: "linux page-cache bypass"
bringt mensch zum O_DIRECT resp. dessen De-/Aktivierung.
Programme machen das wohl gelegentlich, Beispiele wurden erwähnt DB,
und es dürften wohl root-Rechte nötig sein.
Ein Ergebnis war, daß eine Datei auf einem tmpfs nicht im Cache landet.
Ein anderes, daß ich den Cache auffüllen und das System zum swap-Schreiben bringen kann, letztlich auch den "guten" Cache wohl geleert habe.
google: "linux page-cache bypass"
bringt mensch zum O_DIRECT resp. dessen De-/Aktivierung.
Programme machen das wohl gelegentlich, Beispiele wurden erwähnt DB,
und es dürften wohl root-Rechte nötig sein.
Meine Versuche dazu sind eine Weile her, und insoweit grobschlächtig, daß ich "ganze" große Dateien herumschob.wird nicht die gesamte sondern nur Teile davon gecacht (Page Cache).
Und selbst wenn dem nicht so sein sollte, wäre der Kernel klug genug das zu merken.
Ein Ergebnis war, daß eine Datei auf einem tmpfs nicht im Cache landet.
Ein anderes, daß ich den Cache auffüllen und das System zum swap-Schreiben bringen kann, letztlich auch den "guten" Cache wohl geleert habe.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
- Pyromaniac
- Beiträge: 12
- Registriert: 01.05.2015 10:50:14
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Also zuerst: danke schon mal für die Antworten auch wenn es so scheint als würde ich in der Hinsicht nicht weiterkommen.
Um die Idee dahinter etwas genauer zu erklären:
Der cache ist ja dazu da Datei-Zugriffe zu beschleunigen, dazu zählen ja auch Programm-Starts. Wenn ich den Konverter nicht laufen lasse, dann ist das Einloggen, Updaten usw. auf dem Server wahnsinnig schnell. Zugriffe und logins sind innerhalb eines Bruchteils einer Sekunde durchgeführt. Auch der Zugriff auf "OwnCloud" ist recht fix.
Mit dem laufenden Konverter und dem cache voller Video-Daten dauert das schon merklich länger, vor allem wird Owncloud sehr stark ausgebremst. Erstmal nicht sooo schlimm, aber doch optimierungsfähig. Vor allem "nervt" mich eben die Tatsache, dass es unnötig ist diese riesigen Daten zu cachen. Wenn die Aufnahmen konvertiert werden, dann passiert das mit der niedrigsten Priorität und nur sehr langsam, da der x265-Condec scheinbar so komplex ist, dass meine CPU niemals annähernd so schnell arbeitet, dass die Festplatte gefordert werden könnte. Somit ist es total unnötig die Video-Daten im Cache zu halten. Auch wenn die Videos fertig sind und ich sie dann auf mein NAS kopiere, wäre es nicht nötig die Daten "schnell" aus dem Cache zu lesen.
Also wie schon geschrieben, eigentlich nur halb so schlimm, aber doch mit Verbesserungspotenzial.
Ich hoffe das ist einigermaßen verständlich rübergekommen.
Kann man das Cache-System vielleicht auch anordnen gewissen Dateien ab (z.B.) 2 GB nicht im Cache aufzunehmen?
Um die Idee dahinter etwas genauer zu erklären:
Der cache ist ja dazu da Datei-Zugriffe zu beschleunigen, dazu zählen ja auch Programm-Starts. Wenn ich den Konverter nicht laufen lasse, dann ist das Einloggen, Updaten usw. auf dem Server wahnsinnig schnell. Zugriffe und logins sind innerhalb eines Bruchteils einer Sekunde durchgeführt. Auch der Zugriff auf "OwnCloud" ist recht fix.
Mit dem laufenden Konverter und dem cache voller Video-Daten dauert das schon merklich länger, vor allem wird Owncloud sehr stark ausgebremst. Erstmal nicht sooo schlimm, aber doch optimierungsfähig. Vor allem "nervt" mich eben die Tatsache, dass es unnötig ist diese riesigen Daten zu cachen. Wenn die Aufnahmen konvertiert werden, dann passiert das mit der niedrigsten Priorität und nur sehr langsam, da der x265-Condec scheinbar so komplex ist, dass meine CPU niemals annähernd so schnell arbeitet, dass die Festplatte gefordert werden könnte. Somit ist es total unnötig die Video-Daten im Cache zu halten. Auch wenn die Videos fertig sind und ich sie dann auf mein NAS kopiere, wäre es nicht nötig die Daten "schnell" aus dem Cache zu lesen.
Also wie schon geschrieben, eigentlich nur halb so schlimm, aber doch mit Verbesserungspotenzial.
Ich hoffe das ist einigermaßen verständlich rübergekommen.
Kann man das Cache-System vielleicht auch anordnen gewissen Dateien ab (z.B.) 2 GB nicht im Cache aufzunehmen?
-
- Beiträge: 827
- Registriert: 26.05.2008 12:04:54
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Nörten-Hardenberg
-
Kontaktdaten:
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Ich vermute eher, dass der Codec deine CPU voll auslastet.
Das bremst dann das gesamte System aus.
Hast du mal mit Tools wie htop, atop, iotop geschaut wie die Last deines Systems aussieht?
Gerade atop sollte dir hier die brauchbarste Übersicht liefern können.
Ich vermute eher mal, dass die Festplatte und die CPU ausgelastet sein dürfte.
Hier wäre es auch informativ was für Platten du verwendest.
Also z.B. eine SSD oder eher eine HDD.
Auch wäre wichtig auf welcher Platte deine Verarbeitung statt findet.
Wenn dein System und dein Konverter auf der Selben Platte rödeln, würde das abschalten des Caches die Situation doch eher verschlimmern.
Aber ob dies der Fall ist, müsste man testen.
Martin
Das bremst dann das gesamte System aus.
Hast du mal mit Tools wie htop, atop, iotop geschaut wie die Last deines Systems aussieht?
Gerade atop sollte dir hier die brauchbarste Übersicht liefern können.
Ich vermute eher mal, dass die Festplatte und die CPU ausgelastet sein dürfte.
Hier wäre es auch informativ was für Platten du verwendest.
Also z.B. eine SSD oder eher eine HDD.
Auch wäre wichtig auf welcher Platte deine Verarbeitung statt findet.
Wenn dein System und dein Konverter auf der Selben Platte rödeln, würde das abschalten des Caches die Situation doch eher verschlimmern.
Aber ob dies der Fall ist, müsste man testen.
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
- Pyromaniac
- Beiträge: 12
- Registriert: 01.05.2015 10:50:14
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Naaa, das glaube ich jetzt nicht. Aus folgendem Grund: Sagen wir mal ich logge mich morgens eins, es dauert ein paar Sekunden bis alles soweit ist und ich mein "sudo update..." eingeben kann. Wenn es an der CPU-Auslastung liegen würde, dann würde ich genau das gleiche Verhalten kriegen, wenn ich mich auslogge und sofort wieder einlogge. Aber genau das ist nicht der Fall. Wenn ich etwas vergessen habe und mich gleich wieder einlogge, dann geht das quasi sofort, eben ohne dass noch etwas nachgeladen werden muss, da ja die wichtigen Sachen im Cache sind. Viel übler ist genau dieses Verhalten bei Zugriffen auf die "OwnCloud" zu beobachten. Ich sehe ja auch immer die HDD-LED leuchten wenn es mal ein paar Sekunden länger dauert. Wenn ich nichts am Server mache, dann blinkt die LED hin und wieder auf, weil dann eben wieder ein paar Frames geladen/geschrieben werden. Aber auf Dauer (sagen wir mal nach 1-2 Stunden oder mehr) nehmen eben genau diese ganzen Frames den Cache voll ein.Milbret hat geschrieben:Ich vermute eher, dass der Codec deine CPU voll auslastet.
Das bremst dann das gesamte System aus.
Ja, habe ich natürlich gemacht. Die CPU-Auslastung ist dauerhaft, solange der Konverter läuft, auf nahezu 100%, so wie es ja auch sein soll, ich will ja auf die Konvertierung nicht länger warten als nötigMilbret hat geschrieben: Hast du mal mit Tools wie htop, atop, iotop geschaut wie die Last deines Systems aussieht?
Aber dennoch läuft das Ganze mit einem Nice-Wert von 19. Denn unter allen Services die dort laufen, soll der Konverter die niedrigste Prio haben. Das alles funktioniert auch wunderbar. Wenn ich mal ein Programm mittels TV-Headend streame, dann habe ich nie Ruckler, FTP-Übertragungen laufen auch flott ab. Unter diesen "aufwendigeren" Situationen sieht man mit "htop" auch wunderbar dass der niedrigpriorisierte Prozess (also ffmpeg) auch deutlich weniger CPU-Last erhält. Ich bin mir somit 100% sicher, dass die Last-Verteilung für die CPU bestens, genau so wie erwartet arbeitet.
Mit "iotop" habe ich übrigens alle paar Sekunden 50-150 Kilobyte Lese-/Schreibzugriffe die eben von ffmpeg kommen.
Ja klar, eine schnellere HDD könnte auch Abhilfe schaffen, vor allem mit einer SSD hätte ich dann wohl keine Probleme mehr in der Hinsicht. Allerdings würde ich es gerne vermeiden alles neu aufzusetzen und mir eine 1TB große SSD zu kaufen So groß ist nämlich meine 2,5" HDD, auf der TV-Aufnahmen und Linux-Torrents ihren Platz finden.Milbret hat geschrieben: Gerade atop sollte dir hier die brauchbarste Übersicht liefern können.
Ich vermute eher mal, dass die Festplatte und die CPU ausgelastet sein dürfte.
Hier wäre es auch informativ was für Platten du verwendest.
Also z.B. eine SSD oder eher eine HDD.
Auch wäre wichtig auf welcher Platte deine Verarbeitung statt findet.
Wenn dein System und dein Konverter auf der Selben Platte rödeln, würde das abschalten des Caches die Situation doch eher verschlimmern.
Aber ob dies der Fall ist, müsste man testen.
Martin
Der "Server" ist übrigens ein Intel NUC DN2820FYKH mit 4GB Ram, falls das auch noch irgendwie von Interesse sein sollte.
Und dass mir jetzt keiner von den Profis hier ankommt das ist mein Privat-Server mit privaten Diensten wie der Owncloud und etwas TV-Streaming+Rec+Konverter, dafür hat er genug Power. Besonders bei gerade mal 6-7 Watt und 0dB Lärm
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Eventuell einfach ständig ne Screen-Session laufen lassen und die auf z. B -15 renicen. Dann sollte das Arbeiten usw parallel zum Konverter wohl flotter gehen, so man per ssh mal schnell eben...
- Pyromaniac
- Beiträge: 12
- Registriert: 01.05.2015 10:50:14
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Der nice-Wert beeinflusst doch nur die CPU-Resourcen, oder? Die sind ja aber bereits gut aufgeteilt.
Solange ich eingeloggt bin und "arbeite", läuft alles absolut schnell, es gibt keinen Grund sich zu beschweren, auch nach Stunden. Also ist die CPU-Last genau richtig aufgeteilt, der ffmpeg-Prozess steht auf "19" und nimmt die CPU nur dann in Anspruch, wenn sonst kein Prozess sie braucht.
Erst wenn ich längere Zeit (also 1-2 Stunden oder mehr, z.B. nach einer Nacht) nichts am Server zu tun hatte, ist der Cache voller "sinnloser" Video-Daten die er ja abgearbeitet hat.
Und wenn ich mich JETZT einlogge, muss der Cache ja erstmal wieder von den Video-Daten freigeräumt, bzw. mit nützlicheren Daten befüllen werden, sobald ich eben wieder im System drin bin.
Es geht mir ja nur darum, dass der Cache nicht mit Video-Daten zugemüllt wird, die CPU-Last ist ja bereits bestens aufgeteilt.
Solange ich eingeloggt bin und "arbeite", läuft alles absolut schnell, es gibt keinen Grund sich zu beschweren, auch nach Stunden. Also ist die CPU-Last genau richtig aufgeteilt, der ffmpeg-Prozess steht auf "19" und nimmt die CPU nur dann in Anspruch, wenn sonst kein Prozess sie braucht.
Erst wenn ich längere Zeit (also 1-2 Stunden oder mehr, z.B. nach einer Nacht) nichts am Server zu tun hatte, ist der Cache voller "sinnloser" Video-Daten die er ja abgearbeitet hat.
Und wenn ich mich JETZT einlogge, muss der Cache ja erstmal wieder von den Video-Daten freigeräumt, bzw. mit nützlicheren Daten befüllen werden, sobald ich eben wieder im System drin bin.
Es geht mir ja nur darum, dass der Cache nicht mit Video-Daten zugemüllt wird, die CPU-Last ist ja bereits bestens aufgeteilt.
-
- Beiträge: 827
- Registriert: 26.05.2008 12:04:54
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Nörten-Hardenberg
-
Kontaktdaten:
Re: Cache für Dateien/Verzeichnis deaktivierbar?
Hast du auch mal sicherheitshalber mit atop geschaut, ob ggf. nicht doch die HDD belastet wurde?
Ansonsten kann ich dir eben nur empfehlen mal zu schauen ob du nocache bei dir bauen und nutzen kannst.
Eine andere und vorallem bessere Alternative gibt es auf Shell Ebene wohl nicht.
Hatte Gestern nochmal google genutzt, konnte aber keinen einfachen Lösungsansatz finden.
Meistens kamen irgendwelche Ansätz mit Mount Optionen mit sync.
Wäre auch eine Alternative, dann müsstest du aber eine eigene Partition für deinen Vodekonverter anlegen und mounten.
Martin
Ansonsten kann ich dir eben nur empfehlen mal zu schauen ob du nocache bei dir bauen und nutzen kannst.
Eine andere und vorallem bessere Alternative gibt es auf Shell Ebene wohl nicht.
Hatte Gestern nochmal google genutzt, konnte aber keinen einfachen Lösungsansatz finden.
Meistens kamen irgendwelche Ansätz mit Mount Optionen mit sync.
Wäre auch eine Alternative, dann müsstest du aber eine eigene Partition für deinen Vodekonverter anlegen und mounten.
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever