Bei einem Kunden passiert es immer wieder, dass eingesetzte Raspis "kalt" vom Strom genommen werden, so dass es ebenfalls oft notwendig ist, die SD-Karten neu zu schreiben, weil der nächste Bootvorgang irgendwo mit einem blinkenden Cursor abstirbt. Zwar wird immer das gleiche Image verwendet, lästig ist es aber trotzdem. Eine Raspi-USV passt leider vom Volumen her nicht in das System. Hilft hier das Abschalten des Swappings? Dass das nicht absolut sicher ist, ist mir klar, es wäre aber schon ein Gewinn, wenn die SD-Karten weniger oft neu geschrieben werden müssten. Ist: "sudo service dphys-swapfile stop" auch nach dem nächsten (regulären) Neustart noch gültig?
Moin, swap hat imho auf einem embedded system eh nix zu suchen. Wozu soll das gut sein? Wenn die "normale" Software nicht mehr ins RAM passt, brauchts mehr RAM; heimlich Flash ausleiern ist da sicher die falsche Alternative. Aber gegen unsauber runtergefahrene filesysteme hilft Verzicht auf swap auch nicht. Vielleicht hilft sowas wie hier - klingt zumindest schluessig: http://wiki.psuter.ch/doku.php?id=solve_raspbian_sd_card_corruption_issues_with_read-only_mounted_root_partition Gruss WK
Ich werfe mal das Stichwort "USV" in die Runde: https://www.golem.de/news/piusv-im-test-raspberry-pi-per-usv-sauber-herunterfahren-1406-106723.html .
Ralf schrieb: > Ich werfe mal das Stichwort "USV" in die Runde: Hast du den Ursprungspost überhaupt gelesen?
Frank E. schrieb: > Ist: "sudo service dphys-swapfile stop" auch nach dem nächsten > (regulären) Neustart noch gültig? Nein. Mit systemctl disable dphys-swapfile lässt sich der Service dauerhaft deaktivieren.
härter zu machen?!? HAst Du mal versucht die A hochzuskillen? :-) hehe
Frank E. schrieb: > Bei einem Kunden passiert es immer wieder, dass eingesetzte Raspis > "kalt" vom Strom genommen werden, so dass es ebenfalls oft notwendig > ist, die SD-Karten neu zu schreiben, weil der nächste Bootvorgang > irgendwo mit einem blinkenden Cursor abstirbt. Mach es so wie die 10⁹ Androiden: / read-only mounten
Frank E. schrieb: > Bei einem Kunden passiert es immer wieder, dass eingesetzte Raspis > "kalt" vom Strom genommen werden, so dass es ebenfalls oft notwendig > ist, die SD-Karten neu zu schreiben, weil der nächste Bootvorgang > irgendwo mit einem blinkenden Cursor abstirbt. Hat der Kund die Möglichkeit vorher auf einen Ausschalter zu drücken und kurz zu warten bis die grüne LED nicht mehr blinkt? https://howchoo.com/g/mwnlytk3zmm/how-to-add-a-power-button-to-your-raspberry-pi Dazu brauchst du aber etwas Platz für den Taster und einen freien GPIO-Pin auf dem Pi.
Linux greift zögerlicher auf den Swap Speicher zu, als Windows. Wenn du da mehr als 200 Kilobytes drin hast, kannst du bereits von (RAM) Speichermangel ausgehen, oder einen Softwarefehler mit Memory Leck. Wenn der Rechner häufig auf die Auslagerungsdatei zugreift, wird er unerträglich langsam. Dann sind primär andere Maßnahmen angesagt, als den Speicher abzuschalten. Wenn du schon so fragst bist du vermutlich bereits sicher, die Auslagerungsdatei nicht zu benötigen. In diesem Fall kann man aber auch davon ausgehen, dass Linux nur sehr selten darauf zugreift. Ich habe seit 2 Monaten einen Raspberry Pi unter Tisch liegen, der ununterbrochen ein Shell Script ausführt, und Messwerte in zwei Logfiles schreibt. Vom Swap nutzt er genau 0 Bytes. Wenn ich die Swap Datei auf meinem Gerät deaktivieren würde, würde sich dadurch praktisch nichts ändern. Stromausfall bei Zugriff auf die SD Karte sollte theoretisch keine Probleme auslösen. Ich habe bei meinem Gerät schon öfters einfach das Netzteil ausgesteckt, ohne irgendwelche negativen Folgen. Von den Laptops und Smartphones in meiner Familie kenne ich das auch nicht anders. Alte Reste im Swap stören nicht und die Filesysteme ext3 und ext4 sind ziemlich unempfindlich. An deiner Stelle würde ich mal gezielt untersuchen, was den Ausfall der Speicherkarte auslöst. Ich vermute sehr stark, dass es nicht der Stromausfall ist, sondern vielleicht eher simpler Verschleiss durch zu viele Schreibzugriffe. Die Basis Installation (Raspbian ohne GUI) ist in dieser Hinsicht jedenfalls in Ordnung. Aber wenn du da z.B. eine Datenbank, einen Webserver oder gar einen Web Browser drauf laufen lässt, dann wundert es mich nicht.
Stefanus F. schrieb: > Die Basis Installation (Raspbian ohne GUI) ist in dieser Hinsicht > jedenfalls in Ordnung. Aber wenn du da z.B. eine Datenbank, einen > Webserver oder gar einen Web Browser drauf laufen lässt, dann wundert es > mich nicht. Es läuft ein Browser (Chromium) im Kiosk-Mode. Das (vorübergehende) Abschalten des Swap mit oben beschriebenem Kommando hat keine Leistungseinbuße sichtbar werden lassen, also wird Swap wohl nicht benötigt. Die SD-Karten sind überigens nicht kaputt, mur das Dateisystem ist hinüber. Ich kann sie immer wieder mit einem frischen Image überschreiben und sie funktionieren. Wie kann ich dem Browser abgewöhnen, zeigs zu speichern? (Cache abschalten?) Wo und wie geht das bei Chromium?
Frank E. schrieb: > Wie kann ich dem Browser abgewöhnen, zeigs zu speichern? (Cache > abschalten?) Du könntest das Problem mit einer Ramdisk umgehen, die Du so mountest, daß das vom Browser (unnötig) gespeicherte Geraffel dort untergebracht wird. Setzt natürlich voraus, daß der Pi dafür genug RAM hat.
Rufus Τ. F. schrieb: > > Du könntest das Problem mit einer Ramdisk umgehen, die Du so mountest, > daß das vom Browser (unnötig) gespeicherte Geraffel dort untergebracht > wird. Setzt natürlich voraus, daß der Pi dafür genug RAM hat. Wenn das RAM für eine Ramdisk nicht ausreicht, oder wenn du Daten noch permanent halten möchtest, kannst du Caches, Logfiles, etc. auch auf einen zusätzlich gesteckten USB Stick auslagern. Wenn es hier auch Probleme mit dem Filesystem gibt, dann ruf bei jedem Boot noch "fsck" auf und lass es reparieren.
Bau doch einfach mit Buildroot ein Live System, dann brauchst du die SD nach dem Starten garnicht mehr...
Frank E. schrieb: > Bei einem Kunden passiert es immer wieder, dass eingesetzte Raspis > "kalt" vom Strom genommen werden, so dass es ebenfalls oft notwendig > ist, die SD-Karten neu zu schreiben, weil der nächste Bootvorgang > irgendwo mit einem blinkenden Cursor abstirbt. > Hilft hier das Abschalten des Swappings? Nein. Bzw. nur um drei Ecken. Ohne swap wird in der Summe vermutlich weniger auf die Karte geschrieben, was die Karte insgesamt schont (denn per wear leveling verteilt der Controller der Karte den "Schaden" ja auf der ganzen Karte). Wenn der RasPi beim Boot hängen bleibt, liegt das aber fast sicher nicht an einer defekten swap-Partition, sondern an einem defekten Filesystem. Denn selbst wenn es beim Schreiben des swaps einen Fehler geben sollte (power loss z.B.) dann ist nur der eben geschriebene Sektor fehlerhaft. Das ist Linux aber egal, weil der swap beim Boot ohnehin als leer angenommen wird. Ausnahme: Hibernate im swap. Linux prüft nur die Signatur der swap-Partition, die wird im Betrieb aber nicht geschrieben, kann also auch nicht korrumpieren.
Axel S. schrieb: > Wenn der RasPi beim Boot hängen bleibt, liegt das aber fast sicher > nicht an einer defekten swap-Partition Beim Raspi wird in der Regel eine Swap-Datei auf / verwendet.
Frank E. schrieb: > Es läuft ein Browser (Chromium) im Kiosk-Mode. [...] Kannst du das Gesamtsystem aus einer Ramdisk laufen lassen? Das wird dann beim Start geladen und gut ist. > Wie kann ich dem Browser abgewöhnen, zeigs zu speichern? (Cache > abschalten?) Das wirst du so einfach nicht hinbekommen, zumindest nicht zuverlässig. Am einfachsten mountest du /home in eine Ramdisk. Mit zram ist das auch nicht so verschwenderisch wie man vermuten würde. Der aus meiner Sicht sinnvollste Weg wäre aber, das gesamte System schreibgeschützt zu mounten oder - besser - an sich "immutable" zu machen (z.B. mit squashfs als Root-Dateisystem). Mit einem normalen Debian ist das aber nicht ganz trivial.
Wirf diese Distro weg und zieh was eigenes hoch, so dass du haargenau weißt, was alles auf dem System Dateien zum schreiben öffnet. Dann mach, wie oben schon erwähnt, ein read-only Rootfs und pack den Cache von Chromium in eine separate Partition. Nimm da ein robustes Dateisystem. Wenn ext4, dann mit data=journal mounten. Falls sich die Partition beim Booten nicht mounten lässt, formatier sie neu. Ist ja eh nur der Cache drauf.
Daniel schrieb: > Nimm da ein robustes Dateisystem. > Wenn ext4, dann mit data=journal mounten. Das bringt bei SD-Karten, je nach Hersteller, wenig oder nichts. Wir hatten die Diskussion schon, manche SD-Karten zerstören bei "Stromausfall ohne Herausziehen" zufällige Eraseblocks. Da kann auch ein Dateisystem nichts mehr machen.
Oder ersetz /sbin/init durch ein Shellskript, das dem read-only gemounteten Rootfs ein Overlayfs verpasst. Danach kannst du dann ein exec auf das richtige init machen. S. R. schrieb: > Wir hatten die Diskussion schon, manche SD-Karten zerstören bei > "Stromausfall ohne Herausziehen" zufällige Eraseblocks. Da es kein privates Projekt ist, sollte man in der Lage sein die Hersteller abzuklappern um einen zu finden, der bei einem bestimmten Modell garantiert, dass keine zufälligen Eraseblöcke zerstört werden.
Stefanus F. schrieb: > Linux greift zögerlicher auf den Swap Speicher zu, als Windows. Steile These. Unter Linux bestimmt der Systemparameter „swappiness“ (vm.swappiness in sysctl.conf) den Grad der Swap-Nutzung. Kann jeder selber setzen wie er‘s braucht, und Distris nehmen halt irgendeinen im Schnitt sinnvollen Default...
Daniel schrieb: > Da es kein privates Projekt ist, sollte man in der Lage sein die > Hersteller abzuklappern um einen zu finden, der bei einem bestimmten > Modell garantiert, dass keine zufälligen Eraseblöcke zerstört werden. Kann man machen, gilt aber im Zweifelsfall nur für eine bestimmte SD-Kartenreihe mit einer bestimmten Firmware. Lothar hatte da auch mal Kontakt. Es gibt SD-Karten für den professionellen Einsatz (mit SLC-Flash und geringen Kapazitäten), aber die kosten entsprechend. Und wenn man sowas hat, dann funktioniert auch das jetzige System zuverlässig.
Ich würde das persönliche Verzeichnis, wo der Browser all seine Files speichert, sowie /tmp in eine Ramdisk auslagern. Zusätzlich noch im Browser einstellen, dass er möglichst wenig Cachen soll und keine Chronik anlegen soll (sonst muss die Ramdisk groß sein). Dann könnte es klappen.
Swissbit z.B. bewirbt seine SD-Karten mit "Power Fail protection & Read Disturb Management".
Unter Ubuntu (und vermutlich auch unter Debian) gibt es das Paket overlayfs. Damit macht man mit einer Konfigurationsoption das System Read-Only, muss sich aber nicht mit Fehler von Software rumschlagen, die irgendwohin schreiben will. Falls mal neue Software oder ein Update drauf soll, die Option zurücksetzen, Software installieren, Option wieder auf overlay und fertig.
Der einfachste Weg um ohne große Konfigurations-Orgien zu einem Ro-FS auf einem RPi zu kommen ist OpenWRT. Raspbian "kann" man zwar auf Ro umbauen, aber dazu sollte man über profundes Linux-Grundlagen-KnowHow verfügen, und "Linux from Scratch" schon mal abgearbeitet haben. Von OpenWRT gibt es auch eine RaspberryPi-Variante.
:
Bearbeitet durch User
Jan L. schrieb: > Stefanus F. schrieb: >> Linux greift zögerlicher auf den Swap Speicher zu, als Windows. > > Steile These. Unter Linux bestimmt der Systemparameter „swappiness“ > (vm.swappiness in sysctl.conf) den Grad der Swap-Nutzung. > Kann jeder selber setzen wie er‘s braucht, und Distris nehmen halt > irgendeinen im Schnitt sinnvollen Default... Mein XUbuntu zeigt bei dem SWAP 0MByte an und bei anderen Linux-Systemen war es eigentlich auch so. Die Standardeinstellung legt einfach fest dass man erst mal den RAM nutzt bevor man etwas auf die Festplatte auslagert. Bei WinDos wird immer gleich in die SWAP-Datei geschrieben damit der RAM möglichst leer ist und gleich viel Speicher verfügbar ist im Falle dass man ein Programm startet und dann nicht noch ausgelagert werden muss. Windows geht aber allgemein nicht gerade sparsam mit dem RAM um. Wenn ich auf einem Windows-System (Win7 4GByte RAM SWAP ausgeschaltet da es eine SSD ist) das CodeComposerStudio starte und dann noch Firefox öffne, dann meckert er schon rum dass ein Programm geschlossen werden soll. Unter XUbuntu kann ich den CCS öffnen, Thunderbird, und in Firefox einige Seiten öffnen ohne dass der RAM-Verbrauch bei über 2GByte liegt.
Ich verwende BTRFS und ZRAM. BTRFS sollte auf SD-Karten default ein copy-on-write ausführen. Einen Datenverlust wegen BTRFS hatte ich schon sehr sehr lange nicht mehr, bei ext4 auf SD-Karten kann ich die wochen abzählen.
Nein schrieb: > Axel S. schrieb: >> Wenn der RasPi beim Boot hängen bleibt, liegt das aber fast sicher >> nicht an einer defekten swap-Partition > > Beim Raspi wird in der Regel eine Swap-Datei auf / verwendet. Hmm. Fast. Das Package dphys-swapfile legt in der Tat ein swapfile unter /var/swap an. Welcher Idiot hat denn das verbrochen? Das schöne ist, daß man das relativ einfach los wird:
1 | $sudo -i |
2 | #dphys-swapfile swapoff |
3 | #dphys-swapfile uninstall |
4 | #apt-get purge dphys-swapfile |
(alles für RaspBian)
Axel S. schrieb: > Welcher Idiot hat denn das verbrochen? Linux ohne Swap ist ... schwierig. Lazy allocations, Overcommitment und so weiter haben dazu geführt, dass die meisten Anwendungen erstmal Speicher auf Vorrat reservieren (malloc gibt ja kein NULL zurück) und dann nur teilweise nutzen. Ein normales Linux ohne Overcommitment zu benutzen, macht keinen Spaß. Ich hab das eine Weile probiert - die meisten Apps stürzen schlicht ab oder greifen sich alles an RAM, was da ist. Man bekommt regelmäßig einen OOM-Killer zu gesicht. Normales Linux mit Overcommitment (also die Standardeinstellung) braucht ein bisschen Swap zum atmen, weil sich daraus einige Tunables ableiten.
S. R. schrieb: > Axel S. schrieb: >> Welcher Idiot hat denn das verbrochen? > > Linux ohne Swap ist ... schwierig. > > Lazy allocations, Overcommitment und so weiter haben dazu geführt, dass > die meisten Anwendungen erstmal Speicher auf Vorrat reservieren (malloc > gibt ja kein NULL zurück) und dann nur teilweise nutzen. Da gebe ich dir durchaus Recht. Nur ... 1. das swapfile ist gerade mal 100MB groß (bei 256MB RAM, ein RasPi A+). Das ist im Zweifel ohnehin zu klein. Als ich damals<tm> mit Linux angefangen habe, hatte ich 8MB RAM. Und 16M Swap. Jetzt ist das eine 8G µSD. Da sind weit mehr als 100MB frei. IIRC hatte ich damals um 500MB Festplatte. 2. ein swap file ? RLY ? > Normales Linux mit Overcommitment (also die Standardeinstellung) braucht > ein bisschen Swap zum atmen, weil sich daraus einige Tunables ableiten. Jo. Nur macht man dann halt eine Swap Partition. Ist von den Kosten her genau gleich. Vermeidet aber des Gerödel auf dem / Filesystem. Wie gesagt: wer macht sowas ? Muß man wirklich jedem hinterher feudeln? Das macht keinen Spaß!
Axel S. schrieb: > Jo. Nur macht man dann halt eine Swap Partition. Ist von den Kosten her > genau gleich. Vermeidet aber des Gerödel auf dem / Filesystem. Das Wear Leveling passiert aber glaube ich nur innerhalb der entsprechenden Partition. Wenn du z.B. eine 7,5GByte Partition hast, dann können alle Sektoren dort genutzt werden wenn etwas in die SWAP-Datei geschrieben wird. Dann hast du noch eine 500MByte SWAP-Partition erstellt und dort muss sich das System dann mit den vorhandenen Sektoren zufrieden geben, es kann dann nur die anfassen. So gesehen ist bei einem Flash-Speicher dann die Zellenabnutzung besser verteilt wenn man quasi den ganzen Speicherbereich nutzen kann und nicht nur die Sektoren der kleinen SWAP-Partition.
Mike J. schrieb: > Axel S. schrieb: >> Jo. Nur macht man dann halt eine Swap Partition. Ist von den Kosten her >> genau gleich. Vermeidet aber des Gerödel auf dem / Filesystem. > > Das Wear Leveling passiert aber glaube ich nur innerhalb der > entsprechenden Partition. Echt jetzt? Seit wann kann der Kernel das denn? Die SD-Karte kann es jedenfalls nicht, die weiß nichts von Partitionen oder Dateisystemen. > So gesehen ist bei einem Flash-Speicher dann die Zellenabnutzung besser > verteilt wenn man quasi den ganzen Speicherbereich nutzen kann und nicht > nur die Sektoren der kleinen SWAP-Partition. Wie konfiguriert man das (CONFIG_xxx)? Oder Alternative Fakten?
Beitrag #5666509 wurde von einem Moderator gelöscht.
SCO schrieb im Beitrag #5666509: > Wenn eine Applikation xyz MB anfordert, dass System aber > weniger hat und den Mehrbedarf nicht durch Swap befriedigen > kann, fliegt dafür irgendwas raus. Ja, wenn. Auf einem normalen Desktop-PC. Aber: Frank E. schrieb: > Es läuft ein Browser (Chromium) im Kiosk-Mode. Das (vorübergehende) > Abschalten des Swap mit oben beschriebenem Kommando hat keine > Leistungseinbuße sichtbar werden lassen, also wird Swap wohl nicht > benötigt. In so einer wohl definierten Anwendung tritt das Problem eigentlich nicht auf. Oder man hat wirklich zu wenig RAM. Hier laufen ein paar Dutzend Rechner mit 256MB RAM ohne Swap. Zwar ohne Browser, aber mit graphischer Oberfläche. / ist ro gemountet, für /var/log usw. gibt es ein tmpfs. Witzigerweise kann man die (als User) garnicht sauber runter fahren.
SCO schrieb im Beitrag #5666509: > Ohne Swap macht jedes Unix mit laufenden Prozessen Hara Kiri. > Dazu muss noch nicht mal der Speicher besonders knapp sein. So ein Unsinn. > Wenn eine Applikation xyz MB anfordert, dass System aber > weniger hat und den Mehrbedarf nicht durch Swap befriedigen > kann, fliegt dafür irgendwas raus. Noch mal Unsinn. Dafür ist ja Overcommitment da. Einfach mal auf einem Linux unter /proc/meminfo den Wert von Committed_AS anschauen. Das ist der gesamte von Applikationen angeforderte Speicher. Auf meinem 8GiB-Notebook hier ohne Swap sind das ca. 12GiB und es läuft ohne Abstürze oder sonstwas. Es fliegt auch nicht "irgendwas" raus. Das folgt nämlich Regeln. Und kann unter Linux auch schön für jeden Prozess konfiguriert werden. Man kann nämlich Prioritäten zuordnen und auch Prozesse vom oom-killer ausnehmen. Dafür ist der Parameter oom_adj_score da.
Axel S. schrieb: > 1. das swapfile ist gerade mal 100MB groß (bei 256MB RAM, ein RasPi A+). > Das ist im Zweifel ohnehin zu klein. Nein, denn die Standardeinstellungen für Overcommitment begrenzen, wieviel Speicher der Kernel maximal rausrückt. Wenn ich mich recht entsinne, sind das 1.5x RAM. Wichtig ist nicht die Größe des Swaps, sondern dessen Existenz. Das war zu Zeiten von 8 MB RAM anders. :-) > 2. ein swap file ? RLY ? Ein Swapfile ist die für den Nutzer einfachste Lösung. Weihnachtsmann schrieb: > Auf meinem 8GiB-Notebook hier ohne Swap sind das ca. 12GiB und es läuft > ohne Abstürze oder sonstwas. Dein Notebook hat auch genug RAM. Ein 256 MiB Raspberry nicht. Da fällt das auf. Weihnachtsmann schrieb: > Es fliegt auch nicht "irgendwas" raus. Das folgt nämlich Regeln. Und > kann unter Linux auch schön für jeden Prozess konfiguriert werden. > Man kann nämlich Prioritäten zuordnen und auch Prozesse vom oom-killer > ausnehmen. Dafür ist der Parameter oom_adj_score da. Meiner Erfahrung nach funktioniert das ... eher mäßig. Mir hat der OOM-Killer öfter mal die gesamte XFCE4-Leiste pluginweise weggeschossen, bis er den RAM-Fresser erwischt hat. Schalte einfach mal Overcommitment bei dir für ne Woche ab und schau zu, wie gut der OOM-Killer in der Praxis auf einem Desktop-System funktioniert.
Ob Swap File oder Partition macht bei der Performance keinen großen Unterschied. Sobald RAM Mangel besteht, wird der Rechner so oder so extrem langsam. Die Aktualisierungen des Inhaltsverzeichnisses kann man durch die Option "noatime" in /etc/fstab reduzieren. Der Kernel trägt dann nicht mehr ein, wann eine Datei zuletzt gelesen wurde. Aber selbst ohne diese Option schreibt der Kernes nicht jeden einzelnen Zugriff auf's Filesystm sondern sammelt in gewissen Intervallen (ich glaube default war 10 Sekunden).
Sehr interessante Infos die sich hier ergeben. Bei einem Privatprojekt hat sich das Problem erledigt indem wir das rootFS auf einen USB Stick geworfen haben. Bootfiles und Kernel müssen aber immer von der SD Karte kommen. Das läuft auf dem SD Kartefresser ala RasPi v1, der mit nur einem Kern. Meine steile These: Der Kondesnator auf dem USB Stick lässt dem Flash noch genug Zeit die letzte Transaktion abzuschließen. Auf dem RasPI sterben SD Karte und SoC gleichzeitig. Der RasPI ist in einer 2m langen Uhr verbaut und die wird immer hart ausgeknipst über nen Netzschalter. Billige USB Sticks frissts aber trotzdem nach so 2 Jahren, da hat dann wohl das SWAP file doch den billigen Flash durchgeknabbert. Mit einem besseren USB Stick sollts länger halten. Projekt: http://www.fritzler-avr.de/HP/dasuhr.php
Man kann auch die µC-Lösung (Kondensator+LowU-Trigger+EEPROM) auf einen rPi übertragen: Nach 'sync' muss man dann noch 'echo 1 >/sys/block/mmcblk0/mmcblk0p2/ro' ausführen.
Jan L. schrieb: > Stefanus F. schrieb: >> Linux greift zögerlicher auf den Swap Speicher zu, als Windows. > > Steile These. Aber wahr. Windows fängt schon beim Booten an, auszulagern, selbst wenn man 128 GB RAM hat. Den Fall der leeren Auslagerungsdatei habe ich unter Windows noch nie gesehen. S. R. schrieb: > Lazy allocations, Overcommitment und so weiter haben dazu geführt, dass > die meisten Anwendungen erstmal Speicher auf Vorrat reservieren (malloc > gibt ja kein NULL zurück) und dann nur teilweise nutzen. Da hast du Ursache und Wirkung verwechselt. Lazy allocation und Overcommitment wurden ja nicht zum Spaß eingeführt, sondern gerade weil so viele Programme erstmal fleißig Speicher allokieren, den sie (noch) gar nicht brauchen.
Rolf M. schrieb: > Jan L. schrieb: >> Stefanus F. schrieb: >>> Linux greift zögerlicher auf den Swap Speicher zu, als Windows. >> >> Steile These. > > Aber wahr. Windows fängt schon beim Booten an, auszulagern, selbst wenn > man 128 GB RAM hat. Den Fall der leeren Auslagerungsdatei habe ich unter > Windows noch nie gesehen. der Punkt war: unter Linux ist das ein konfigurierbarer Parameter. Während Ubuntu das üblicherweise auf "60" setzt, setzt (mein älteres) Raspbian das auf "1". Schau' halt nach, was aktuell eingestellt ist (cat /proc/sys/vm/swappiness)- - und dann schreibe mal "100" rein. Und schwupps swappt Linux schneller, als man gucken kann...
>> Aber wahr. Windows fängt schon beim Booten an, auszulagern, selbst wenn >> man 128 GB RAM hat. Den Fall der leeren Auslagerungsdatei habe ich unter >> Windows noch nie gesehen. Jan L. schrieb: > der Punkt war: unter Linux ist das ein konfigurierbarer Parameter. > Während Ubuntu das üblicherweise auf "60" setzt, setzt (mein älteres) > Raspbian das auf "1". Auch mein Laptop (mit Debian 8GB RAM) nutzt gerade 0 Bytes von der Swap Partition. Solange genug RAM vorhanden ist, scheint dieser Parameter wenig zu bewirken.
Stefanus F. schrieb: > Auch mein Laptop (mit Debian 8GB RAM) nutzt gerade 0 Bytes von der Swap > Partition. Solange genug RAM vorhanden ist, scheint dieser Parameter > wenig zu bewirken. Warum spekulieren? https://access.redhat.com/solutions/103833
Bauform B. schrieb: > Echt jetzt? Seit wann kann der Kernel das denn? Die SD-Karte kann es > jedenfalls nicht, die weiß nichts von Partitionen oder Dateisystemen. Du scheinst mit dem "wear leveling" Recht zu haben, das passiert scheinbar unabhängig von einer Partition. Bei zu kleinen Partitionen hat man aber immer noch ein paar Nachteile wegen der Funktion des Trim-Befehl, hier werden teilweise Blöcke/Sektoren die teilweise leer sind wieder mit anderen Daten zusammen kopiert, bei wenig Platz wird dann entweder viel kopiert oder die Speichermenge kann eben nicht sehr effektiv genutzt werden.
Mike J. schrieb: > Bei zu kleinen Partitionen hat man aber immer noch ein paar Nachteile > wegen der Funktion des Trim-Befehl Vor allem sollten die Partitionen immer an den Erase Blocks der SD-Karte ausgerichtet sein. Leider ist deren Größe meistens geheim. Gerüchteweise sollten 4MB reichen, bei kleineren Karten auch weniger. Damit erzeugt man auch bei kleinen Partitionen keinen nennenswerten Verschnitt. Oder übersehe ich da noch ein Problem?
Hier gibt es ja viele Anregungen zu möglichen Lösungen usw. Das einfachste ist wohl die anfällige SD wegzulassen und nur noch USB Sticks einzusetzen. Seitdem ich das mache, habe ich kein Problem mehr mit nicht bootenden Rpi. Und ich bin faul. Ich kill sie alle per "Strom weg".
Dracul schrieb: > Hier gibt es ja viele Anregungen zu möglichen Lösungen usw. > > Das einfachste ist wohl die anfällige SD wegzulassen und nur noch USB > Sticks einzusetzen. Oder eine kleine SSD mit Adapter. So mach ich das. Das Thema hier ist ansonsten ein schönes Beispiel, was für eine kleinkarierte Fummelei dieses Linux doch immer noch ist. Robuste Ausfallsicherheit samt unbedingter Flash-Eignung sollte ein Betriebssystem mal im Mindesten bieten!
Arthur schrieb: > Robuste > Ausfallsicherheit samt unbedingter Flash-Eignung sollte ein > Betriebssystem mal im Mindesten bieten! Und welches Betriebssystem kennst du welches besser ist?
Arthur schrieb: > Robuste Ausfallsicherheit samt unbedingter Flash-Eignung sollte ein > Betriebssystem mal im Mindesten bieten Es liegt nicht am OS, es liegt an dem verwendeten Medium SD-Karte. Das beste OS wird nicht boeten wenn relevante Daten fehlen.
Dergute W. schrieb: > Aber gegen unsauber runtergefahrene filesysteme hilft Verzicht auf swap > auch nicht. Vielleicht hilft sowas wie hier - klingt zumindest > schluessig: > > http://wiki.psuter.ch/doku.php?id=solve_raspbian_sd_card_corruption_issues_with_read-only_mounted_root_partition Ich denke, das ist das einzige, was hilft, wenn man nicht sauber runterfahren möchte.
Arthur schrieb: > Das Thema hier ist ansonsten ein schönes Beispiel, was für eine > kleinkarierte Fummelei dieses Linux doch immer noch ist. Robuste > Ausfallsicherheit samt unbedingter Flash-Eignung sollte ein > Betriebssystem mal im Mindesten bieten! Das liegt nicht an Linux, sondern an den Anwendungsprogrammen. Eine intensiv genutzte Datenbank auf SD Karte wird Dir unter jedem Betriebssystem Sorgen bereiten. Im Server Bereich verwendet man dafür aus dem selben Grund auch keine Consumer-SSD. Und ein Web Browser, der quasi ununterbrochen schreibt, ist natürlich auch unabhängig vom Betriebssystem problematisch. Im Gegensatz zu Windows ist es bei Linux ganz einfach, von einem read-only Medium zu starten. Alle Systemprogramme sind dafür geeignet. Linux startet mit seinen gewöhnlichen Filesystemen nach einem Stromausfall genau so zuverlässig, wie Windows mit NTFS. Du kannst ja zum Vergleich mal ein halbes Jahr mit Windows 95 (und DOS Filesystem) arbeiten und dabei immer schön den Stecker ziehen anstatt herunterzufahren. Dann wirst du sehen, was "anfällig" bedeutet.
900ss D. schrieb: > Dergute W. schrieb: >> Aber gegen unsauber runtergefahrene filesysteme hilft Verzicht auf swap >> auch nicht. Vielleicht hilft sowas wie hier - klingt zumindest >> schluessig: >> >> > http://wiki.psuter.ch/doku.php?id=solve_raspbian_sd_card_corruption_issues_with_read-only_mounted_root_partition > > Ich denke, das ist das einzige, was hilft, wenn man nicht sauber > runterfahren möchte. Diese Lösung scheint überschaubar und auch für den Nicht-Super-Linux-Experten beherrschbar - werde ich ausprobirern. Ich habe nat. auch schon selber nach sowas gesucht, was ich bisher fand war aber immer endlos kompliziert ... und nich selten ist plötzlich mittendrin Schluß, weil eben irgend ein Kommando nicht so beendet bzw. ausgeführt wird, wie in der Anleitung beschrieben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.