AW: CF-Karten Auslastung was ist normal, was ist zuviel
hattest du denn das IPC WebIf die ganze zeit auf weswegen auch apache2 angesprochen wurde??
IPC besteht nicht nur aus dem WebIf das vom apache2 verwaltet wird
"was" und "wohin" geschrieben wird zeigt iotop auch nicht, nur "welches prozess" und "wieviel" ... um deine fragen aber vernünftig beantworten zu können muss man
a) die umstände kennen, also musste mir auch meine fragen beantworten
b) "wohin" geschrieben wird
ob "iotop" tatsächlich nur die "echten" disk zugriffe anzeigt oder auch die, die im ram liegen - kann man ganz einfach herrausfinden indem man ein kleines script erstellt das alle 2 sekunden eine datei schreibt:
dann das script ausführen: bash -x /tmp/iotest.sh /root/test.txt
oder zum prüfen ob iotop auch was anzeigt wenns ins tmpfs geht: bash -x /tmp/iotest.sh /tmp/test.txt
also.. zunächst mal "iotop" vernünftig ausführen:
nach starten die tasten
o p und
a drücken und sobald man einen prozess gefunden hat der viele I/O erzeugt,
(mit den pfeiltasten 'rechts' / ' links' kann man auswählen wonach iotop sortiert werden soll)
über eine weitere konsole prüfen was genau und wohin geschrieben wird:
so, nun prüf ich das uns sehe erstmal "es wird nichts geschrieben" auch nicht nach 5 minuten..
aber sobald ich das IPC WebIf aufrufe wird verständlicherweise vom apache2 webserver etwas geschrieben (aber am meisten gelesen). das beobachten wir jetzt ein bischen..
dann öffne ich eine weitere konsole und gib den oben genannten strace befehl mit der PID vom apache2 ein der am meisten geschrieben hat, in meinem fall war das:
strace -f -p 16575 -e trace=read,write
so, das erschlägt einen erstmal weil da ne ganze menge angezeigt wird (kommt aber auch darauf an welche seite man im ipc webif auf hat) - eben nicht nur die php dateien die gelesen werden sondern auch das laden der libs die apache2 verwendet und ständige aufrufe (alle 10sek) von den ajax relevanten elementen:
/var/www/ipc/page/menue.php
/var/www/ipc/page/include/menue_access.php
/var/www/ipc/page/include/messages_recieve.php
/var/www/ipc/page/messages/msgs.txt
/var/www/ipc/page/messages/badwords.txt
/var/www/ipc/page/messages/smiley.txt
usw
aber insbesondere sehr viel zeuch das im cache landet oder dort abgehandelt wird..
die meisten php geschichten könnte man ggf auch mithilfe "
" cachen lassen, aber wie man sieht ist in meinem beispiel das meiste zeuchs vom Chat - wenn man den nicht brauch einfach ausschalten..
aber wie gesagt wird der apache2 aber auch nur angesprochen wenn man das IPC WebIf aufruft bzw offen hat - das sollte aber eigentlich nicht immer der fall sein - ich zumindest schliese meinen browser sobald ich ihn nicht mehr brauche und auch meine rechner werden über nacht ausgeschaltet..
du kannst auch eine "ala LiveCD" erstellen indem du dir zunächst eine eigene LiveCD erstellst:
dann partitionierst du deine CompactFlash in 2 bereiche:
- metaroot
- other
"metaroot" ist das debian system
"others" sind dateien/daten die du speicherst
dann unpackst du alles von deiner selbst erstellten LiveCD auf die "metaroot" partition und installierst manuell GRUB
danach musst du halt jedesmal eine neue LiveCD erstellen wenn du ein weiteres programm installieren willst - aber kannst dadurch optimal kontrollieren was tatsächlich geschrieben wird denn das geht dann nurnoch auf der "other" partition..
die IPC configs sowie die webif.db müsstest du dann aber eben auch auf die "other" partition legen bzw verlinken
DAS wäre eine "ala LiveCD"
oder du nimmst dir sowas wie
anstatt Debian
/EDIT: um die ajax geschichten von der festplatte (cf) fern zu halte gäbe es evtl. die möglichkeit über das /etc/init.d/varlog bei systemstart die /var/www/ipc/ dateien in ein tmpfs zu kopieren worauf dann apache2 zugreift.. problem dabei könnte aber die webif.db sein weil wenn das system einfach ausgeschaltet wird, sind alle geschrieben daten usw futsch... das hatte ich bei der entwicklung nämlich auch überlegt ob das sinnvoll wäre aber dann wieder fallen gelassen..