Linux 14.986 Themen, 106.416 Beiträge

Linux Caches leeren

Jacky4 / 12 Antworten / Flachansicht Nickles

Hallo Leute
ich habe nen Linux root. der sollte fast immer online sein nu habe ich das Problem das der cache immer relativ bald (3wochen) voll wird. (geht nachrestart ja wieder weg) aber da laufen server usw. drauf. ich wollte mal wissen ob es vill so eine Funktion gibt wie cages leeren oder so

mfg
Jacky

bei Antwort benachrichtigen
KarstenW Jacky4 „Ist Suse Linux 10.3 32Bit KDE hmm... wenn du mir sagst wo ich das mit dem Memory...“
Optionen

Die Standardkernel sind wahrscheinlich auf "off" bei der High Memory Support Option eingestellt sein.
Du mußt eben einen eigenen Kernel übersetzen. Da ist aber nicht nur diese eine Option einzustellen, sondern alles. Angefangen mit dem Prozessor-Type , alle Gerätetreiber und eben diese High Memory Option.
Du mußt den kernel-source??? installleren, das Programmierwerkzeug make, den Compiler gcc und natürlich binutils. Die 32 bit Version kann auf jeden Fall diese 8 GByte RAM verwalten. Ich weiß nicht wie das programmiert ist. Ich nehme mal an das aus zwei 32 bit CPU Registern eine 64 bit RAM Adresse berechnet wird.

Dann installierst du noch die ncurses-dev Entwicklungsbibliothek. Ich weiß nicht welche Version bei SUSE dabei ist.

Du gehst in /usr/src/linux-source??? rein und gibst den Befehl "make menuconfig" ein.
Danach wird ein Dialog geöffnet , in dem du die verschiedenen Kerneloptionen und Gerätetreiber auswählen kannst.

Alle Treiber die du für die / Partition brauchst müssen monolitisch in den Kernel bzImage kompiliert werden und Treiber für Sound und USB kannst du als Modul installieren.
Wenn du fertig bist mit der Konfiguration speicherst du die Konfiguration in der Datei .config ab, gehst aus dem Dialog raus und gibst nacheinander folgende Befehle in der Konsole ein:

make
make modules
make modules_install

oder alles in eine Befehlszeile ein:

"make && make modules && make modules_install"

Ist eigentlich ganz einfach. Wichtige Optionen sind hier noch mal in Deutsch erklärt:

http://de.gentoo-wiki.com/Kernel_manuell_kompilieren/x86_2.6.22-gentoo#Processor_type_and_features

http://de.gentoo-wiki.com/Kernel_manuell_kompilieren

Den Standardkernel läßt du für den Notfall installiert.
Der übersetzte Betriebsystemkern ist bei der 32 bit Architektur in

/usr/src/linux-source-2.6.18/arch/i386/boot$ ls -l
insgesamt 3460
-rwxr-xr-x 1 root root 512 2008-06-09 16:04 bootsect
-rw-r--r-- 1 root root 1580 2008-06-09 16:04 bootsect.o
-rw-r--r-- 1 root root 2156 2006-09-20 05:42 bootsect.S
-rw-r--r-- 1 root root 1697539 2008-06-09 16:05 bzImage
drwxr-xr-x 2 root root 4096 2008-06-09 16:05 compressed
-rw-r--r-- 1 root root 6124 2006-09-20 05:42 edd.S
-rw-r--r-- 1 root root 1413 2006-09-20 05:42 install.sh
-rw-r--r-- 1 root root 4868 2006-09-20 05:42 Makefile
-rw-r--r-- 1 root root 330 2006-09-20 05:42 mtools.conf.in
-rwxr-xr-x 1 root root 6839 2008-06-09 16:04 setup
-rw-r--r-- 1 root root 14320 2008-06-09 16:04 setup.o
-rw-r--r-- 1 root root 26106 2006-09-20 05:42 setup.S
drwxr-xr-x 2 root root 4096 2008-06-09 16:05 tools
-rw-r--r-- 1 root root 40974 2006-09-20 05:42 video.S
-rwxr-xr-x 1 root root 1689859 2008-06-09 16:05 vmlinux.bin

und heißt bzImage.
Du kannst diese Datei nach /boot kopieren und in vmlinuz-Versionsoundso umbennen.
Die Module werden in /lib/modules/kernel??? mit dem Befehl "make modules_install" installiert.

Bei meinem Debian gibt es ein Script update-grub welches die Konfigurationsdatei /boot/grub/menu.lst automatisch aktualisiert. Bei SUSE weiß ich nicht Bescheid, aber du mußt diese Datei für grub aktualisieren.


Der nachfolgende Text ist eine Kopie von der Hilfe aus dem Dialog von der Kernelkonfiguration bezüglich High Memory Support :

CONFIG_NOHIGHMEM: │
│ │
│ Linux can use up to 64 Gigabytes of physical memory on x86 systems. │
│ However, the address space of 32-bit x86 processors is only 4 │
│ Gigabytes large. That means that, if you have a large amount of │
│ physical memory, not all of it can be "permanently mapped" by the │
│ kernel. The physical memory that's not permanently mapped is called │
│ "high memory". │
│ │
│ If you are compiling a kernel which will never run on a machine with │
│ more than 1 Gigabyte total physical RAM, answer "off" here (default │
│ choice and suitable for most users). This will result in a "3GB/1GB" │
│ split: 3GB are mapped so that each process sees a 3GB virtual memory │
│ space and the remaining part of the 4GB virtual memory space is used │
│ by the kernel to permanently map as much physical memory as │
│ possible. │
│ │
│ If the machine has between 1 and 4 Gigabytes physical RAM, then │
│ answer "4GB" here. │
│ │
│ If more than 4 Gigabytes is used then answer "64GB" here. This │
│ selection turns Intel PAE (Physical Address Extension) mode on. │
│ PAE implements 3-level paging on IA32 processors. PAE is fully │
│ supported by Linux, PAE mode is implemented on all recent Intel │
│ processors (Pentium Pro and better). NOTE: If you say "64GB" here, │
│ then the kernel will not boot on CPUs that don't support PAE!


│ The actual amount of total physical memory will either be │
│ auto detected or can be forced by using a kernel command line option │
│ such as "mem=256M". (Try "man bootparam" or see the documentation of │
│ your boot loader (lilo or loadlin) about how to pass options to the │
│ kernel at boot time.) │
│ │
│ If unsure, say "off".


PS: Bei der 64 bit Version des Linuxkernels ( AMD64 Architektur) wird kein Unterschied zwischen dem High Memory und dem Low Memory gemacht.
Du mußt diese 32 bit Version nur installieren , wenn du noch 32 bit Programme nutzen willst für die es keine 64 bit Version gibt. Das hängt mit der Registerbreite der Bibliotheken zusammen.










Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen