Tuning des Systems

  • Für alle, die OS X erfolgreich auf Ihrem System installiert haben (auch die, die ne SSD einsetzen!!!) ein paar Tuningtipps -zwei um genau zu sein-, die die Plattenzugriffe etwas reduzieren und das System performanter machen:


    EDIT:


    Ihr müsst "root" sein, damit das funktioniert und die Rechte stimmen!!! Also als erstes mittels "sudo su" zum root-user wechseln.


    /EDIT


    Als erstes schalten wir die "atime" ab, ein BIT, das allen Dateien per Default verpasst wird:


    unter /Library/LaunchDaemons erzeugen wir uns eine "com.meinname.noatime.plist" mit folgendem Inhalt:


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.stylewalker.noatime</string>
    <key>ProgramArguments</key>
    <array>
    <string>mount</string>
    <string>-vuwo</string>
    <string>noatime</string>
    <string>/</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>


    Als Nächstes reduzieren wir die Größe der Logdateien und bauen uns eine RAMDisk. Der Vorteil ist, dass aller temporäre Mist und alle Downloads nach einem Reboot weg sind, der Nachteil ist, dass Dateien, die man runterläd und VERGISST wegzukopieren, nach einem reboot ebenfalls weg sind, aber Unix war ja schon immer das System des mündigen Users ^^ ... die RAMDisk ist übrigens Sleep persistant :)
    Meine RAMDisk hat 2GB bei 8 GB RAM, diesem Wert könnt ihr ggf. auf euer System anpassen ....


    Unter /Library/LaunchDaemons erstellen wir eine "com.meiname.ramfs.plist" mit folgendem Inhalt:


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.stylewalker.ramfs</string>
    <key>ProgramArguments</key>
    <array>
    <string>/var/root/ramfs.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>


    Das alleine, reicht wohl noch nicht!!! Die RAMDISK muss zusätzlich via Skript initialisiert werden:


    Unter /private/var/root/ erzeugen wir eine ramfs.sh. Diese wird mittels "chmod a+x" ausführbar gemacht. Danach füllen wir sie mit folgendem Inhalt:



    #!/bin/bash
    ramfs_size_mb=2048
    mount_point=/private/tmp


    ramfs_size_sectors=$((${ramfs_size_mb}*1024*1024/512))
    ramdisk_dev=`hdid -nomount ram://${ramfs_size_sectors}`
    newfs_hfs -v 'Volatile HD' ${ramdisk_dev}
    mkdir -p ${mount_point}
    mount -o noatime -t hfs ${ramdisk_dev} ${mount_point}
    chown root:wheel ${mount_point}
    chmod 1777 ${mount_point}



    Voilá! Noch ein "reboot" zum Schluss und wir sind glücklich!



    !!! ACHTUNG !!! Für User von CleanmyMac: die Startdateien werden von Cleanmymac als unbrauchbar erkannt und automatisch entfernt!!!!

    Einmal editiert, zuletzt von Goron ()

  • Hört sich ja mal super an. Sowas interessiert mich immer. Werde ich Heute oder Morgen mal porbieren.
    Besten dank :)

    Intel i7 930 ■ Point of View GeForce GTX 480 ■ Gigabyte GA-X58A-UD7 ■ Silverstone Raven 2 ■ 6GB Mushkin eXtreme Performance Copperhead ■ Be Quiet Dark Power ( P10 ) 750W Pro Edition ■ Creative Sound Blaster X-Fi Xtreme Music ■ Samsung SpinPoint F3 500GB + 1TB ■ Samsung SyncMaster XL2370 LED
    Lion 10.7.5 ↔ Windows 8

  • Was Neues zum Spielen:


    !!! NUR FÜR DIE GANZ MUTIGEN !!!


    !!!! BENUTZUNG AUF EIGENE GEFAHR UND NUR EMPFOHLEN, WENN IHR WISST, WAS IHR TUT !!!!!


    Da mir die Zugriffe auf die Platte auf den ... aeh darf ja nimmer fluchen .. Balg gingen, hab ich mal geschaut was so den Großteil ausmacht:


    1. Spotlight (kann man getrost abschalten in den System Preferences, der find ist genauso schnell)
    2. Das Logging


    OS X loggt wirklich JEDEN Mist JEDER Applikation mit, das wollen wir ihm austreiben. Einfach wäre jetzt, /var/log zu löschen und einen Symlink nach /tmp (wo wir die RAMDisk hinmounten) zu legen. Dumm an dieser Stelle, das das Syslog startet, BEVOR die RAMDisk erstellt wird! -> Kernelpanic! Unter OS X kann man NICHT wie unter Linux einfach Prioritäten der Prozesse und Deamons festlegen, also müssen wir uns was Anderes überlegen:


    Mit 10.4 wurde ein neuer syslogd eingeführt, den wollen wir uns zu Nutze machen. Soll das System halt loggen, wenn es meint es muss das, aber dann bitte nur das, was zwingend sein muss.


    Dank Manpages findet sich folgendes:


    Emergency (level 0)
    Alert (level 1)
    Critical (level 2)
    Error (level 3)
    Warning (level 4)
    Notice (level 5)
    Info (level 6)
    Debug (level 7)


    Standard ist Level 6, was eigentlich Quatsch ist. Da unser System stabil läuft, interessiert uns NUR (mich zumindest) eine Panic. Fügen wir dem Skript zur Erstellung der RAMDisk also die Zeile:


    syslog -c 0 -p


    hinzu, loggt das System nur noch Emergencies (Panics = Level 0). Man könnte dafür auch wieder ein eigenes Script schreiben, aber wozu? Der gemeine Unixer IST faul warum das Rad neu erfinden?



    Goron

  • Moep, Frage ;O)


    Mein System verfügt mit 2GB über relativ wenig Ram (Aufrüsten bei dem Board keine Option mehr und so...) womit sich das Thema Ramdisk zumindest für mich von selbst erledigt trotzdem geht es mir auf den Pinsel, dass MAC OS allen kram loggt, gibt es eine Möglichkeit das Logging auch ohne Ramdisk auf die Paniken zu begrenzen sprich wo plaziere ich die Zeile am Besten, wenn ich keine Ramdisk erzeugen möchte/kann ?

  • Nenn es wie willst, gib ihm deinen Namen ... *singträller* ... ach ne, das war was Anderes ;)


    Wenn du es so lösen willst, brauchst du einen LaunchDeamon (ramfs) und das eigentliche Script. Nimm das RAMDisk Script, lösch den Inhalt und füg nur die eine Zeile ein, dann wird bei jedem Systemstart das Script ausgeführt und setzt immer den Loglevel auf den gewünschten Wert :)

  • Danke Goron,


    ich war auch gerade am lesen, ob der "syslog -c process [filter]" jedes mal neu eingegeben werden muss oder ob einen einmalige Eingabe reicht!



    wer noch mehr über syslog lesen möchte: hier


    ...ja, bei meinen 8GB ist auch nichts für RAMDISK übrig, aber eine syslog auf das wesentliche begrenzt ist mir auch sympatischer

  • @loisl:


    Theoretisch, reicht eine einmalige Eingabe, um aber ganz sicher zu gehen, würd ich es lieber bei jedem Systemstart setzen, dann ist ein für alle Mal Ruhe :)

  • Ja, das ist ein Berechtigungsproblem. An welcher Stelle bekommst du diese Meldung?

  • Fehlermeldung steht doch da ... falscher Eigentümer BENUTZERRECHTE !!!


    mach mal ein
    ls -la <Dateiname>


    <Dateiname> == natürlich durch den Dateinamen ersetzen, um den es sich handelt


    und dann die Zeile hier posten, dann kann ich dir helfen!

  • ... wer lesen kann ... :zunge:

  • ..mir schon klar das es die Dateirechte sind, dry das ich hier noch ein noob drin bin :P
    Alles wird gut...


    -rw-r--r-- 1 Vudo staff 410 8 Sep 16:37 com.vudo.noatime.plist



    Fehlt wohl das SYSTEM selbst... wie fix ich das?

  • chown 0:0 com. ..., oder chown root:wheel com. ..., ganz wie du magst :)

  • Ah, i see, mein Fehler:


    NUR root darf das!!! setz ein "sudo" davor ;)

  • Startpost editiert!

  • Ich hab nur 4GB RAM, wenn ich also weniger als die 2GB nutzen will muss ich hier noch was beachten?


    ramfs_size_sectors=$((${ramfs_size_mb}*1024*1024/512))
    oder reicht es den Wert nur zu verkleinern "ramfs_size_mb=2048"?


    Dazu stellt sich mir die Frage ob ich dem Safari auch ein anderes Download-Verzeichnis anbieten kann, das RD is doch sehr klein oder wirkt sich das nur auf die TEMP-Dateien aus.. auch auf die aus dem Web?


    PS: Will ja meine SSD schonen :D

  • 4GB sind schon etwas ... spack?


    Lass bloss die Finger weg von der ZEile!!!!!!!!!!! Die Größe wir hier eingestellt:


    ramfs_size_mb=2048


    und nirgends anders!


    Und ja, klar kannst du den Browser so umbiegen, dass der da speichert, deshalb geh ich ja von 8 auf 16 GB RAM hoch ;)


    Ne 4 GB RAMDisk und das Downloadverzeichnis da reinlegen. Aller Mist, der sich so sammelt ist bei nem Neustart weg und du brauchst dich nie wieder darum kümmern da aufzuräumen :)

  • Bin imo bei "ramfs.sh" allerdings hab ich auf root keine Rechte. Kannst du mir nen cmd posten mit dem ich als sudo die Datei dort erzeugen kann.. wie war das nochmals..?


    Und das "chmod a+x" sieht dann im cmd wie aus..?


    Nooby (ich) in aktion^^


    PS: Ich nehm mal nur 1GB imo für den ersten Test.