Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Ursache von Speicherkorruption finden

Ursache von Speicherkorruption finden

Termi
Termi12.02.1718:25
Blöder Titel, aber wie beschreibe ich es? Seit kurzem habe ich das Problem, dass nach einiger Zeit der Nutzung bei mir manche Programme nicht mehr starten und abenteuerliche Fehlermeldungen auftauchen. So meldet das Terminal dann
[forkpty: Resource temporarily unavailable]
[Konnte keinen neuen Prozess erstellen und ein Pseudo-TTY öffnen.]
Im Thunderbird wird GnuPG nicht mehr gefunden, Archive lassen sich nicht mehr entpacken, Programme z.T. nicht mehr starten, usw.

Meine Vermutung: Irgendein Programm schreibt in Speicherbereiche, wo es nicht sollte. Nur wie finde ich dies heraus? Ich habe schon LibreOffice 5.3 durch eine ältere 5.2 ersetzt, ein Update auf den neuesten MAMP gemacht, uvm. Wäre halt schön, wenn ich irgendwo sehen könnte, wenn unerlaubt irgendwohin geschrieben wird. Gibt's da ein Monitorprogramm für?
0

Kommentare

larsvonhier12.02.1720:25
Klingt jetzt ersteinmal eher nach defektem/instabilem RAM.
Am besten mal mit einem Speichertester durchprüfen, dann an die Software-Seite gehen...

hier gibt´s auch eine Mac Version gratis:
http://www.memtest86.com/download.htm
0
gfhfkgfhfk12.02.1720:56
Termi
Wäre halt schön, wenn ich irgendwo sehen könnte, wenn unerlaubt irgendwohin geschrieben wird. Gibt's da ein Monitorprogramm für?
UNIX enthält seit Jahrzehnten einen Mechanismus, der genau das verhindert. Wenn es zu Speicherfehler kommt, dann sind wahrscheinlich die Module kaputt. Zuverlässig wird das nur mit ECC RAM erkannt und dafür gibt es dann spezielle Software im OS, die es erlaubt die Speicherfehler zu tracken. Da aber bis auf den MacPro kein ECC RAM bei Apple Verwendung findet, hilft hier nur ein Speichercheckprogramm. Diese sind aber nicht 100% zuverlässig, d.h. es können defekte Module durchrutschen.
+1
mitzlaff12.02.1721:11
LibreOffice 5.3 läuft hier einwandfrei. Gibt es für den Mac noch den AHT (Apple Hardware Test)? Er könnte den Speicher durchprüfen, sofern für das Modell noch eine Start-DVD existiert, auf der er sich befindet – leider aber nicht mehr für die neueren Macs. Wenn es mehrere RAM-Bausteine sind, einzeln ausbauen oder untereinander tauschen und testen.
0
larsvonhier12.02.1721:32
UNIX enthält seit Jahrzehnten einen Mechanismus, der genau das verhindert. Wenn es zu Speicherfehler kommt, dann sind wahrscheinlich die Module kaputt. Zuverlässig wird das nur mit ECC RAM erkannt und dafür gibt es dann spezielle Software im OS, die es erlaubt die Speicherfehler zu tracken. Da aber bis auf den MacPro kein ECC RAM bei Apple Verwendung findet, hilft hier nur ein Speichercheckprogramm. Diese sind aber nicht 100% zuverlässig, d.h. es können defekte Module durchrutschen.
Wenn die zwounddrölfzig Tests nach vielen Stunden durch sind (mit dem memtest86), dann ist da nichts durchgerutscht, falls keine Fehler gefunden wurden...
Und gravierende Probleme sieht man bereits nach wenigen Minuten.
0
Termi
Termi12.02.1722:06
Ich habe mal den Memtest86 durchlaufen lassen. Keine Fehler. Würde mich auch eigentlich wundern bei einem neuen MacBook Pro 13" Late 2016.

LibreOffice 5.3 war's auch nicht, denn der Fehler tritt auch danach noch auf. Ist halt schwierig, den Übeltäter zu bestimmen, da es ja nicht nur auf ein bestimmtes Programm ankommt, sondern auch darauf, ob ggf. beim letzten Update ein Fehler hinzugekommen ist. Vom Problembild her gehe ich halt davon aus, dass irgendetwas im Speicher Müll baut
0
Mendel Kucharzeck
Mendel Kucharzeck12.02.1722:12
Ich glaube nicht, dass hier ein Hardware-Problem vorliegt. Wenn mich meine Erinnerung nicht täuscht, kommen die Ausgaben, wie du sie siehst, dann vor, wenn zu viele Prozesse für einen Nutzer laufen. Kannst du vielleicht mal die Aktivitätsanzeige aufmachen bevor das Problem auftritt, so dass du schauen kannst, wie viele Prozesse laufen, wenn das Problem sich zeigt?
0
someone12.02.1722:22
Mendel Kucharzeck
Ich glaube nicht, dass hier ein Hardware-Problem vorliegt. Wenn mich meine Erinnerung nicht täuscht, kommen die Ausgaben, wie du sie siehst, dann vor, wenn zu viele Prozesse für einen Nutzer laufen. Kannst du vielleicht mal die Aktivitätsanzeige aufmachen bevor das Problem auftritt, so dass du schauen kannst, wie viele Prozesse laufen, wenn das Problem sich zeigt?
Denke ich auch, unter Linux kriegt man z.B. "Resource temporarily unavailable" beim Forken wenn die maximal erlaubte Anzahl Prozesse erreicht ist, wobei dies normalerweise eine eher konservativ gesetzte Limite ist (kann man aendern) und nicht was der Kernel/Hardware maximal hergeben....
0
Termi
Termi12.02.1722:40
Beobachte ich mal. Da müsste ja irgendwas wie wild Prozesse starten.
0
X-Jo13.02.1707:45
Uns wieso kann’s nicht die HDD/SSD sein? Auf die hätte ich als erstes getippt.

Aber die gehen ja bekanntlich nie kaputt!
+1
fleissbildchen13.02.1708:07
Genau - das Festplatten-Dienstprogramm ist der nächste Schritt
0
mitzlaff13.02.1708:24
fleissbildchen
Überprüfen geht damit per "Erste Hilfe", zum Reparieren muss dann von der Recovery-Partition aus gestartet werden. DiskWarrior könnte sonst auch helfen.
0
Termi
Termi13.02.1709:07
Der Tipp mit dem Aktivitätsmonitor war schon gut. Bei mir sammeln sich httpd Prozesse an. Heute Morgen hatte ich 400. Habe bei appsolute einen Bugreport zu MAMP Pro eingereicht.

Mit Apple SSDs hat man übrigens sehr viel Spaß. Nicht nur kann man die im MBP nicht mehr ausbauen - Sie gibt auch keine S.M.A.R.T. Signale zum "Gesundheitszustand" von sich, aus denen man im Vorfeld einen sich anbahnenden Defekt erkennen könnte
0
ssb
ssb13.02.1709:37
Also wenn es der Apache im MAMP ist, dann müsste sich konfigurieren lassen, ob für jede Verbindung ein Thread oder ein Prozess erzeugt wird. Das war früher wenigstens mal so. Threads haben untereinander keinen Speicherschutz, belegen aber weniger Ressourcen. Prozesse sind da sicherer aber eben auch hungriger.
Limits kannst du per Terminal mit
sysctl -a | grep proc
erkennen.
Bei meinem MBP 2013 mit 10.11. kommt da als Ergebnis:
kern.maxproc: 1064
kern.maxfilesperproc: 10240
kern.maxprocperuid: 709
kern.ipc.maxextbkidleperproc: 1
kern.aioprocmax: 16
kern.procname: sysctl
machdep.cpu.processor_flag: 5
security.mac.proc_enforce: 1
Ich verstehe das so, dass der Kernel maximal 1064 Prozesse erlaubt und maximal 709 Prozesse per User. Der Apache Server hat üblicherweise einen eigenen User also mehr als 709 httpd Prozesse sollten nicht laufen können.

Das mit den kaputten RAM-Modulen hatte ich mit meinem MBP 2011 auch schon (nach 5 Jahren), das meiste lief gut, aber ich konnte größere Projekte (VLC) nicht mehr kompilieren, da wurde irgendwann der Speicher verwendet, der kaputt war.
+1
gfhfkgfhfk13.02.1710:45
larsvonhier
Wenn die zwounddrölfzig Tests nach vielen Stunden durch sind (mit dem memtest86), dann ist da nichts durchgerutscht, falls keine Fehler gefunden wurden...
Das ist leider nicht zutreffend. Es gibt Fehler die rutschen bei Memtest86 durch und man sieht sie erst im Regelbetrieb. Eine mögliche Ursache dafür ist die Tatsache, dass Memtest86 die CPU faktisch nicht belastet und daher das System mehr oder minder kalt bleibt. Ferner wird das RAM auch nicht vollständig belastet, da die Speicherbandbreite mit nur einem Thread nicht ausgelastet werden kann. Das lineare Schreiben und Lesen ist ebenfalls nicht all zu typisch für die tägliche Anwendung.
0
Termi
Termi13.02.1711:43
@ssb
Danke. Sieht bei mir von den Standards her fast genauso aus. Das mit den kern.maxprocperuid: 709 würde auch erklären, dass ich irgendwann >800 einen Fehler bekomme. Der httpd läuft bei mir unter meinem User, unter dem auch andere Prozesse laufen. Ich warte mal auf die Analyse von appsolute (MAMP Hersteller).
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.