XUbuntu memória spórolás

Fórumok

Hali

Egy Xubuntu-t szeretnék még tovább butítani, még több memóriát spórolni, ehhez kérem a segítségeteket.Egy 1001éves nec notira tettem a minap Xubuntut. Nagyon jol megy rajta, csak az bosszant hogy miután az összes szolgáltatást kiszedtem 72M memóriát zabál grafikus mód nélkül...

Ezen kellene segíteni. Miután nincs már futó szolgáltatás a maradék processek kb 15M memóriát használnak összesen. Így arra a következtetésre jutottam hogy a kernel és a moduljai emésztik fel a maradék közel 60M-át. EZ SOK!!

lsmod ... több mint 80 modul van betöltve (há nem így már nem csodálkozom hogy ennyi memória kell neki...

Sajna a kernel és moduljainak piszkálgatásával még nem igazán foglalkoztam, sőt azt sem tudom pontosan, hogy hogyan mikor és mi tölti be ezeket a rendszerindítás folyamán, és hogy hol lehetne még spórolni.

plz help!

Hozzászólások

háát nem éppen ubuntu de szerintem ne a legújabbal próbálkozz

nekem otthon van egy portege pii es noti 300MHz 64M ram, felraktam rá woody-t majd forgattam 2.4.32 es kernel.

aztán tettem rá sarge-t 2.6.8 as default kernel.
es érzésre lassabbnak tűnt még X nélkül is a gép, több ramot is eszik pl.
a hotplug csomó szart, betölt pl mondjuk nem volt kedvem már optimalizálni,
de mint mondottam defaultból lassabb.

Celeron-M 1400Mhz, 768M, Debian SID, E17, 2.6.17

Bocs, hogy belepofázok, de kipróbálhatnád a Zenwalk linuxot.

--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!

belepofázás #2,
ha pedig debian alapokon akarsz egy igen lightos rendszert (xubuntu is debianból jött), próbáld ki a damn small linuxot. http://www.damnsmalllinux.org/
imho nem a kernellel van baj, az mostanára eléggé takarékosan szokott bánni a memóriával, és általában automatic unloadolja a felesleges 'drivereket' a memóriából. inkább maga az xorg grafikus rendszer zabálhatja a memóriádat, illetve olyan új szolgáltatásokat is jobb mellőzni kevés memória mellett mint a tmpsf, vagy az udev.
Ha ragaszkodsz a xubuntuhoz próbáld meg kiszedni a damn small linux lightos framebuffer alapú X serverét, esetleg még a kernelcsomagjait is. a damn small egyébként debian csomagkompatibilis, de az (k,x)ubuntu már nem. de egy próbát megér, a kevés függőséggel rendelkező csomagok jó eséllyel működni fognak.

lsmod kimenete:


Module                  Size  Used by
video                  16260  0 
tc1100_wmi              6916  0 
sony_acpi               5644  0 
pcc_acpi               12416  0 
hotkey                 11556  0 
dev_acpi               11140  0 
container               4608  0 
button                  6672  0 
acpi_sbs               19980  0 
battery                 9988  1 acpi_sbs
ac                      5252  1 acpi_sbs
i2c_acpi_ec             5120  1 acpi_sbs
dm_mod                 58936  1 
md_mod                 72532  0 
ipv6                  265728  6 
af_packet              22920  2 
lp                     11844  0 
joydev                 10048  0 
tsdev                   8000  0 
psmouse                36100  0 
serio_raw               7300  0 
snd_seq_dummy           3844  0 
snd_seq_oss            33536  0 
snd_seq_midi            9376  0 
snd_seq_midi_event      7552  2 snd_seq_oss,snd_seq_midi
snd_seq                51984  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
pcmcia                 40508  0 
floppy                 62148  0 
pcspkr                  2180  0 
snd_via82xx            28824  0 
gameport               15496  1 snd_via82xx
snd_ac97_codec         93088  1 snd_via82xx
snd_ac97_bus            2304  1 snd_ac97_codec
snd_pcm_oss            53664  0 
snd_mixer_oss          18688  1 snd_pcm_oss
via686a                17672  0 
i2c_isa                 4992  1 via686a
snd_pcm                89864  3 snd_via82xx,snd_ac97_codec,snd_pcm_oss
snd_timer              25220  2 snd_seq,snd_pcm
snd_page_alloc         10632  2 snd_via82xx,snd_pcm
snd_mpu401_uart         7808  1 snd_via82xx
rtc                    13492  0 
snd_rawmidi            25504  2 snd_seq_midi,snd_mpu401_uart
snd_seq_device          8716  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq,snd_rawmidi
i2c_viapro              8980  0 
yenta_socket           28428  2 
rsrc_nonstatic         13440  1 yenta_socket
pcmcia_core            42640  3 pcmcia,yenta_socket,rsrc_nonstatic
i2c_core               21904  4 i2c_acpi_ec,via686a,i2c_isa,i2c_viapro
snd                    55268  11 snd_seq_oss,snd_seq,snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
soundcore              10208  1 snd
via_agp                 9856  1 
agpgart                34888  1 via_agp
e100                   40580  0 
parport_pc             35780  1 
parport                36296  2 lp,parport_pc
mii                     5888  1 e100
shpchp                 45632  0 
pci_hotplug            29236  1 shpchp
evdev                   9856  0 
ext3                  135688  1 
jbd                    58772  1 ext3
ide_generic             1536  0 
uhci_hcd               33680  0 
usbcore               130692  2 uhci_hcd
ide_cd                 33028  0 
cdrom                  38560  1 ide_cd
ide_disk               17664  3 
via82cxxx               9988  0 [permanent]
generic                 5124  0 
thermal                13576  0 
processor              23360  1 thermal
fan                     4868  0 
capability              5000  0 
commoncap               7296  1 capability
vesafb                  8476  1 
fbcon                  42784  70 
tileblit                2816  1 fbcon
font                    8320  1 fbcon
bitblit                 6272  1 fbcon
softcursor              2304  1 bitblit

Udv!
szerintem a kernel modulok babralasa segithet,
a dolog egyszeru:
'lsmod'
1. oszlop: modul neve
2. oszlop: m. merete
3-4. oszlop: hanyan es kik hasznaljak
ha valamely modulrol nem tudodo mit csinal:
'modinfo modulneve' (az a gaz amikor ez szinte ures, lattam mar ilyet)

ha kiderul h egy modul nem kell (pl. usb, v hang...stb), akkor:
'rmmod modulneve'
kicsit maceras mindegyikkel eljatszani, de lehet sporolni vele.

a modulok vegleges eltavolitasa mar macerasabb, mert
azert asszem a kernelbe forditott 'auto_module_load' (ha jol irtam)
a felelos (azonnal betolti a modult emint meglatja a hardvert). => kernelt kell forditani,
de akkor mar ezeket a modulokat is kiiktathatod a fent emlitett babralas nelkul.

---
PtR

Kikapcsolhatod a framebuffer konzolt és a függőségeit (ha főleg GUIt használsz, akkor fölös), a szenzorok drivereit (i2c_akármi, meg az egyik via, nézz utána melyik), bár azok hasznosak lehetnek, a joystick device nem tudom mit keres ott (joydev) joystick driver nélkül, gameport fölös hasonlóképpen (gondolom se MIDI se régi joy eszközöd sincs), aztán ha PCMCIA kártya sincs éppen a gépben, az a driver is mehet a málnásba.
Na meg ipv6 hálózatra sem csatlakozol szerintem, ezzel kapcsolatban is minden leszedhető.
Az ilyen fura nevű moduloknak mit shpchp (valami hotplug ha jól tévedek), meg yenta_socket is nézz utána, kell-e.
Ha meg tudod oldani az összes porgram hangját natív ALSA támogatással, akkor az OSS emulációt (snd_*_oss) is kiszedheted. Apropó, a hangdaemon (ESD, aRTS, JACK, stb) is zabja a memóriát, az új ALSA alapból tud sw mixelést, tehát ezek is kikapcsolhatók (az ALSA egyetlen gondja, hogy az OSS-es progik még mindig ráülnek a hangkártyára, de ezt már előbb kiirthatod, szóval nem ütközöl bele ^^)

Hali!

Nemrég találtam egy aUbuntuLite nevű módosítását az ubuntunak, ami elvileg direkt régi, gyenge gépekre van. Még nem volt időm kipróbálni, de ha kell majd írok tapasztalatokat.

tudtok valami listát vagy hasonlót ahol le van irva hogy melyik kernel modul mire jo?

Szia!

Ha beírod, hogy rmmod -as (nem használt modulok eltávolítása), akkor csökkenhet a száma a betőltött moduloknak... (cronba érdemes berakni, hogy 10 percenként fusson le)

/Legalábbis úgy tudom, de nekem most baromira nem akar müködni a dolog CentOS4-el+ vmwarel/

Nekem PCLinuxos 99 modul, CentOS4 28 modul
Mindkettő rendesen müködik, csak az utóbbi nem töltött be egy rakás felesleges modult

Valóban elég sok modulod van betöltve, de ha megnézed, hogy összesen mennyi helyet foglalnak,
akkor láthatod, hogy ez jelentéktelen a 72 megához képest. Nem lehet, hogy véletlenül
a cache-t is beszámítottad? Vágd be ide a free kimenetét, aztán meglátjuk.

azóta kicsit hegyeztem rajta (inittab ban leszedtem a felesleges konzolokat meg ilyenek) így már csak 55M és már alig alig swappel..
alakul de még mindig nem az igazi


             total       used       free     shared    buffers     cached
Mem:         57456      55988       1468          0       1196      40368
-/+ buffers/cache:      14424      43032
Swap:       160608       1480     159128

egyébként én olyan 30M körüli mem használatot szeretnék elérni
ha sikerül örülni fogok (a DSL x-el 28M-val hasít)

Szerintetek ezen lehet még tovább faragni?
(mondjuk bash helyett kisebb shell)

ps aux :


USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.6  0.9   1564   524 ?        S    12:48   0:03 init [2]  
root         2  0.0  0.0      0     0 ?        SN   12:48   0:00 [ksoftirqd/0]
root         3  0.0  0.0      0     0 ?        S    12:48   0:00 [watchdog/0]
root         4  0.0  0.0      0     0 ?        S<   12:48   0:00 [events/0]
root         5  0.0  0.0      0     0 ?        S<   12:48   0:00 [khelper]
root         6  0.0  0.0      0     0 ?        S<   12:48   0:00 [kthread]
root         8  0.0  0.0      0     0 ?        S<   12:48   0:00 [kblockd/0]
root         9  0.0  0.0      0     0 ?        S<   12:48   0:00 [kacpid]
root       111  0.0  0.0      0     0 ?        S    12:48   0:00 [pdflush]
root       112  0.0  0.0      0     0 ?        S    12:48   0:00 [pdflush]
root       114  0.0  0.0      0     0 ?        S<   12:48   0:00 [aio/0]
root       113  0.0  0.0      0     0 ?        S    12:48   0:00 [kswapd0]
root       119  0.0  0.0      0     0 ?        S<   12:48   0:00 [kacpid-work-0]
root       702  0.0  0.0      0     0 ?        S<   12:48   0:00 [kseriod]
root      1787  0.0  0.0      0     0 ?        S<   12:49   0:00 [khubd]
root      1860  0.0  0.0      0     0 ?        S    12:49   0:00 [kjournald]
root      2082  0.2  0.9   2104   540 ?        S<s  12:49   0:01 /sbin/udevd --daemon
root      2839  0.0  0.0      0     0 ?        S    12:49   0:00 [shpchpd_event]
root      2865  0.0  0.0      0     0 ?        S    12:49   0:00 [pccardd]
root      2884  0.0  0.0      0     0 ?        S    12:49   0:00 [pccardd]
root      2912  0.0  0.0      0     0 ?        S<   12:49   0:00 [kgameportd]
dhcp      3189  0.0  1.0   2332   584 ?        S<s  12:49   0:00 dhclient3 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0
root      3737  0.0  2.0   2148  1188 ?        Ss   12:49   0:00 /usr/sbin/acpid -c /etc/acpi/events -s /var/run/acpid.socket
syslog    3752  0.0  1.1   1760   668 ?        Ss   12:49   0:00 /sbin/syslogd -u syslog
root      3775  0.0  0.8   1664   484 ?        Ss   12:49   0:00 /bin/dd bs 1 if /proc/kmsg of /var/run/klogd/kmsg
klog      3777  0.0  2.2   2388  1304 ?        Ss   12:49   0:00 /sbin/klogd -P /var/run/klogd/kmsg
root      3798  0.0  1.4   2112   856 ?        Ss   12:49   0:00 /usr/sbin/cron
root      3859  0.0  1.9   2576  1136 tty1     Ss   12:49   0:00 /bin/login --      
root      3862  0.0  0.8   1556   480 tty2     Ss+  12:49   0:00 /sbin/getty 38400 tty2
tamas     3865  0.1  5.0   4204  2916 tty1     S    12:50   0:00 -bash
tamas     3910  0.0  1.5   2188   872 tty1     R+   12:58   0:00 ps aux

No akkor számoljunk:
A free alapján durván 56 mega a használt, ebből ha levonjuk a cache-t ami kb. 40 mega,
akkor marad 16 mega. A ps kimenetéből látszik, ha a %MEM alatti számokat összeadjuk, hogy
a process-ek 19.5 százalékot használnak a teljes memóriádból ami kb. 57*0.195 ~ 11 mega.
Így akkor kb. 5 mega (16-11) marad a kernelnek és moduljainak. Szerintem így korrekt.
Gondolom kiírtottad a modulok közül az összeset, amelyiket nem használta semmi.

ööö...

ugy gondolom igazad lehet mert elég értelmesen elmondtad, és logikus is...

következtetés: megint én voltam a hülye :)

(ebből látszik az is hogy nem vagyok képben a memória gazdálkodás táján sem, legalábbis nem tudtam mi célt szolgál a cache)

köszöntem mindenkinek