Samstag, 26. Mai 2012, 02:26

Du bist nicht angemeldet.



kls

hat hier 2. Wohnsitz.

  • »kls« ist der Autor dieses Themas

Beiträge: 149

Ubuntu: 8.04

Kernel: UStudio 2.6.27-rt

Desktop: KDE

Architektur: 32-bit

  • Private Nachricht senden

1

Dienstag, 27. Februar 2007, 17:51

Vermeidung von lokalen HDD Zugriffen?

Hallo Leute.

Ich möchte

/tmp
/var
/dev

auf tmpfs legen, um alle HDD Zugriffe während des Multimediabetriebes zu vermeiden, um die HD herunterfahren zu können. ( Nur so soll es gehen -- habe ich irgendwo gelesen)

Hat jemand damit Erfahrung? Reicht obiges aus? Muss ich auch den swap abschalten? cron? Was sonst noch?

Übrigends /tmp ist bei mir über tmpfs schon im RAM gemountet
über /etc/fstab.
Kann ich für /var einfach einen zweiten tmpfs mount anlegen!?
Falls ja, wie kommen dann die entsprechenden logfiles und Unterdirectories darein. Werden diese bei jedem boot neu angelegt?

Anschliessend möchte ich sdparm ( für meine SATA HD) nutzen um meine lokale Platte runterzufahren, da vom Netz gestreamt wird bzw. aus dem RAM (streaming buffer) abgespielt wird. Das Stoppen der Platte mit sdparm bzw. hdparm macht anscheinend nur Sinn falls wirklich keine Aktivitäten mehr auf der Platte laufen

Wieder eine sehr spezielles Thema, denke ich. Vielleicht hat das ja jemand hier schon mal durchgezogen! Mal sehen.

Eigentlich ist das Thema generell nicht uninteressant, um sein System zu tunen.

Viele Gruesse
Klaus

Easyy-S

Boardgrafiker

Beiträge: 2 987

Ubuntu: 12.04

Kernel: generic

Desktop: GNOME Shell

Architektur: 64-bit

Danksagungen: 3 / 1

  • Private Nachricht senden

2

Dienstag, 27. Februar 2007, 23:34

Du willst /var ist RAM legen lassen ?! So daß es garnicht mehr auf HDD liegt ?
Das wird nicht gehen.
Lösche mal den kompletten Inhalt von /var und versuche dein System zu starten. Da geht nix mehr.
/var/tmp kannst du löschen, aber nicht /var !
Easyy-S

Mein pubkey

Dein eigener UbuntuFreunde-Avatar: hier - Dein UbuntuFreunde-Banner: hier

basslord

Ubuntufreund

Beiträge: 2 671

Ubuntu: 12.04

Kernel: 3.2.0-24-generic

Desktop: KDE

Architektur: 64-bit

Danksagungen: 1 / 1

  • Private Nachricht senden

3

Mittwoch, 28. Februar 2007, 02:06

Zusätzlich zu /tmp könntest du /var/tmp auch mit tmpfs fahren. swap würde ich dabei nicht deaktivieren. Im schlechtesten Fall kann es immer noch passieren, dass dein RAM (wieviel auch immer das sein mag) vollläuft, und sei es durch ein fehlerhaftes Programm o.ä.
Dann geht nix mehr, wenn das System nicht auf swap auslagern kann. Das System kann unbedienbar so werden, neue Anwendungen quittieren ihren Aufruf mit einer Fehlermeldung.

Und die HDD regelmäßig abzuschalten ist BTW nicht gut für die Lebensdauer der Platte. Gestartet wird sie sowieso beim booten, dann manuell abgeschaltet und beim Runterfahren wieder angefahren um schließlich wieder abgeschaltet zu werden. Nicht gut, wenn man an seiner Hardware hängt ;)

Dann noch was: /dev hat schon per default tmpfs, wie ein mount belegt. Dazu einige andere Verzeichnisse ebenso. Ich würde es bei /tmp und /var/tmp belassen und gut.

Und dann noch das: wenn du keine cronjobs eingerichtet hast, wozu abschalten?

Gruß
Rodge
"Ohne Musik wäre das Leben ein Irrtum." - Friedrich Nietzsche

kls

hat hier 2. Wohnsitz.

  • »kls« ist der Autor dieses Themas

Beiträge: 149

Ubuntu: 8.04

Kernel: UStudio 2.6.27-rt

Desktop: KDE

Architektur: 32-bit

  • Private Nachricht senden

4

Donnerstag, 29. März 2007, 12:27

Hallo Leute.

Ich bin einen grossen Schritt weiter gekommen mein System ruhig zu stellen, damit es sich voll auf "Audio" konzentrieren kann.

Hier das Script um /var ins RAM umzuhängen um Plattenzugriffe zu vermeiden:




Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/bin/sh
#
# 
# written by KLS 03-31-2007 
#
# This script mounts folders into ramfs to avoid harddisk access
#
# Tested on Ubuntu 6.10 - 2.6.20-rt3
#
# Revison PA2 03-31-2007
#

#-----------------------------------------------------------------------
# Check root
#-----------------------------------------------------------------------

checkroot () {
if [ "$UID" -ne 0  ]
 then
 echo "Must be root to run this script..."
 exit 0
 fi  
}

#-----------------------------------------------------------------------
# Check double run
#-----------------------------------------------------------------------

checkdouble () {

if [ "`mount | grep "tmpmnt" `" != "" ] ; then
echo "$0 already executed ...."
exit 0
fi

}

#-----------------------------------------------------------------------
# Setenv 
#-----------------------------------------------------------------------


umask 022

#-----------------------------------------------------------------------
# Put relevant /var directories into RAM
#-----------------------------------------------------------------------


vardirtoram () {

if [ ! -d /mnt/tmpmnt ] ; then
mkdir /mnt/tmpmnt
fi

for i in $@; do 

 if [ -f /var"$i".state ] ; then
  /bin/rm -rf /var"$i".state
 fi

 /bin/echo "Creating ramfs for /var/"$i":"
 /bin/mount -t ramfs ramfs /mnt/tmpmnt -o maxsize=256
 /bin/cp -rp /var/"$i"/* /mnt/tmpmnt/ 2>/dev/null
 /bin/mkdir -p /var"$i".state
 /bin/mount -o bind /var/"$i" /var"$i".state
 /bin/mount -o bind /mnt/tmpmnt /var/"$i"
 /bin/umount /mnt/tmpmnt
done
}

#-----------------------------------------------------------------------
# Stop unwanted hardisk accessing processes
#-----------------------------------------------------------------------

stopproc () {
swapoff -a
ps axco pid,command |grep xscreensaver | awk '{ print $1; }' | xargs kill -9 > /dev/null 2>&1
/etc/init.d/apmd stop > /dev/null 2>&1
/etc/init.d/networking stop > /dev/null 2>&1
/etc/init.d/cron stop > /dev/null 2>&1
/etc/init.d/klogd stop > /dev/null 2>&1
/etc/init.d/sysklogd stop > /dev/null 2>&1
/etc/init.d/acpid stop > /dev/null 2>&1
}

#-----------------------------------------------------------------------
# MAIN
#-----------------------------------------------------------------------

checkroot
checkdouble
stopproc



# Note1: /var/run and /var/lock are already mounted on tmpfs
# Note2: It makes sense to clean /var and other directories before putting them into RAM 
vardirtoram tmp spool mail log local opt

echo "done"

exit 0



Anbei der Link zum VAR Clean Thread .

apmd und apcid sind ein weing mit Vorsicht zu geniessen! Ich übernehme keine Verantwortung für irgendwelche Schäden, wenn diese abgeschaltet werden!
Bei mir scheints allerdings zu funktionieren.

Auf der console (im recovery mode) läuft letztendlich auch noch ein nervender screenserver den man mit

setterm -blank 0 deaktviert

Hintergrund: Derzeit spiele ich mein Audio von der Konsole im recovery mode ab! Ein weiterer Schritt zu meinem diskless/screenless audio client.


mit hdparm -S 1 fahre ich dann meine Platte runter.


So dies ist mein derzeitges geballtes Wissen zu diesem Thema.

Gibts noch mehr, was ich wissen sollte??

Viele Gruesse
Klaus

P.S: Habe gestern 50 Minuten Musik abgespielt ohne das auch nur einmal die Platte angesprungen wäre. ;)

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »kls« (1. April 2007, 19:33)


basslord

Ubuntufreund

Beiträge: 2 671

Ubuntu: 12.04

Kernel: 3.2.0-24-generic

Desktop: KDE

Architektur: 64-bit

Danksagungen: 1 / 1

  • Private Nachricht senden

5

Samstag, 31. März 2007, 13:38

Interessantes Projekt auf jeden Fall. Für eine reine Audio-Station sicher sehr cool.
Muss ich mir mal ansehen bei Gelegenheit.

BTW wieviel RAM hast du in dem Rechner zur Verfügung?

Gruß
Rodge
"Ohne Musik wäre das Leben ein Irrtum." - Friedrich Nietzsche

kls

hat hier 2. Wohnsitz.

  • »kls« ist der Autor dieses Themas

Beiträge: 149

Ubuntu: 8.04

Kernel: UStudio 2.6.27-rt

Desktop: KDE

Architektur: 32-bit

  • Private Nachricht senden

6

Samstag, 31. März 2007, 14:35

Hi Rodge.

2 Gigs - 1 Gig als tmpfs fürs Audio. Reicht locker für eine ganze unkomprimierte CD.

Das andere Gig brauche ich dann für's OS /applic. /var /dev usw.

Ich muss ein wenig aufpassen, da mein swap ja ausgeschaltet ist.

/var ist bei mir allerdings noch ziemlich "voll".( Daher auch mein neuer Thread zum Thema wie ich /var cleane. Habe gerade ein nettes Script bei Knoppix gefunden, mal sehen, wenn ich's hinbiege werde ich es posten!)

BTW: Mein Notebook bleibt nun unglaublich "kalt" und "leise", zudem verbessert sich der Klang! Und natuerlich läuft es wesentlich länger auf Akku. ;)

Ein Tip am Rande: Um die Konsole bzw. den Bildschirm im Recovery-Mode abzuschalten, da xset ohne X natuerlich nicht funktioniert, leistet das vbetool wertvolle Dienste:

Mit "vbetool dpms off|on" wirds dann vollständig dunkel! ;)

Gruss Klaus

kls

hat hier 2. Wohnsitz.

  • »kls« ist der Autor dieses Themas

Beiträge: 149

Ubuntu: 8.04

Kernel: UStudio 2.6.27-rt

Desktop: KDE

Architektur: 32-bit

  • Private Nachricht senden

7

Sonntag, 1. April 2007, 18:59

Hallo Leute

Ich habe das Thema noch einmal aufgemacht und entsprechend meiner Optimierungen
obiges Script noch einmal angepassst.

Ich packe nun mein /var nur noch selektiv ins RAM.
Und /dev lasse ich erst einmal raus.

Rodge:
Du meintest voher das /dev sowieso schon im RAM liegt:
Mein mount gibt folgende Ausgabe:

udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)

Mir ist nicht ganz klar ob das aussagt, dass die devs im RAM liegen.
Kannst Du hier vieleicht zwei Worte zu verlieren.

Gruss
Klaus

basslord

Ubuntufreund

Beiträge: 2 671

Ubuntu: 12.04

Kernel: 3.2.0-24-generic

Desktop: KDE

Architektur: 64-bit

Danksagungen: 1 / 1

  • Private Nachricht senden

8

Mittwoch, 9. Mai 2007, 15:13

Hallo kls,

leider den Thread etwas verschlafen. Aber gerne noch ein paar Worte.

Nur die Teile von /dev, die ein Pseudofilesystem haben. Also hier udev, devshm und devpts mit tmpfs. Auch sysfs wäre ein solches Pseudofilesystem.

/proc liegt dagegen komplett im Speicher und nicht physikalisch auf der Festplatte.

BTW was machen die Fortschritte? Auch wenn ich das in dem Umfang wahrscheinlich nie brauche, finde ich das dennoch ein spannendes Thema.
Vielleicht verfasst du ja mal ein HowTo zu den ganzen Konfigurationen ;)
So ein Walk Through fänd ich mal interessant.

Gruß
Rodge
"Ohne Musik wäre das Leben ein Irrtum." - Friedrich Nietzsche

kls

hat hier 2. Wohnsitz.

  • »kls« ist der Autor dieses Themas

Beiträge: 149

Ubuntu: 8.04

Kernel: UStudio 2.6.27-rt

Desktop: KDE

Architektur: 32-bit

  • Private Nachricht senden

9

Donnerstag, 17. Mai 2007, 13:51

Eigentlich mache ich ja nicht mehr als was jeder oben im Script (und im varclean) nachlesen kann. Ist ja quasi schon ein howto.


Was ich mittlerweile allerdings festgestellt habe, ist das jede Appllikation
an den unterschiedlichsten Stellen im Verzeichnisbaum irgendwelche Daten ablegt bzw. darauf zugreift. Also wirklich Ruhe ins System zu bringen ist nicht wirklich easy. Es sei denn man lädt alles ins RAM.

Ich schaue mir gerade Puppy Linux und SPB Linux an, das reicht mir eigentlich aus für meine Audio-Applikation und das kann man dann sehr leicht ins RAM laden.
Allerdings ist dort die Administration sehr viel komplizierter, verglichen mit z.B. Ubuntu.

Klaus

kls

hat hier 2. Wohnsitz.

  • »kls« ist der Autor dieses Themas

Beiträge: 149

Ubuntu: 8.04

Kernel: UStudio 2.6.27-rt

Desktop: KDE

Architektur: 32-bit

  • Private Nachricht senden

10

Freitag, 8. Juni 2007, 06:42

Hallo.

Nur um das Thema noch abzuschliessen:

Ich habe feststellen muessen, dass jedes Programm anders mit den Resourcen umgeht.
Ich hatte z.B. Fälle da wird aufs Home zugegriffen oder irgendwelche Dateien temporär auf der Platte gecached.

Was ich nun mache, wenn ich das code- oder configmässig nicht ändern kann, dann packe ich diese Verzeichnisse einfach auf oben im Script beschriebene Art und Weise ins RAM.

So z.B. für mein Audio Setup mounte ich nun auch meinen Audio-User home ins RAM.

Auch die Libraries der Binaries können ein Problem darstellen.
Da gilt es mit ldd dann herauszufinden, wo diese sich befinden.

Jedenfalls springt bei mir die Platte nicht einmal mehr an während ich
eine Playlist (CD) höre. Und die o.g. Sache mit SPBLinux kann ich mir vorerst mal schenken.

Gruss
Klaus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »kls« (8. Juni 2007, 06:43)