Örököltem egy rendszert, és mivel piszok lassú volt, elekezdtem nyomozni, hogy mi eszi meg a vasat.
Minden process -t lelőttem, ennek ellenére a free és a top azt mutatja hogy 850 mega ram foglalt. Van valami mód rá, hogy megnézzem, mi a fene eszi a ramot? Mert az hogy rakattam bele még plussz ramot, az nem segített :)
- 2856 megtekintés
Hozzászólások
ilyenek vannak:
ps xua
free
cat /proc/meminfo
- A hozzászóláshoz be kell jelentkezni
Igazabol, az hogy 850 mega foglalt nem igazan jelent sokat, azt nezd meg mennyit pagel?
Amennyire tudom a linux akkor szabadit fel memoriat, ha epp kell valami masnak.(javitsatok ki ha tevedek)
Nekem pl 1Gbol most szabad 20mega.
- A hozzászóláshoz be kell jelentkezni
Azért a minden proceszt kilőttem elég nagyvonalú megjegyzés. Azt sem írtad, hogy ez rögötn boot-olás után bvan e. Jó lenne a minden procesz kilövése után egy "sudo ps -ef"-et idemásolni.
- A hozzászóláshoz be kell jelentkezni
Én is úgy tudom, hogy a Linux nagyon sok memóriát előre lefoglal.
Viszont az hogy ilyen sok rammal piszok lassú, az már más. Ugyanis ettől még nem kellene valóban lassúnak lennie.
Nálam:
gyuszk@remote:~$ free
total used free shared buffers cached
Mem: 478576 290104 188472 0 11464 135392
-/+ buffers/cache: 143248 335328
Swap: 1975984 0 1975984
gyuszk@remote:~$
Ha jól gondolom akkor a buffers meg a cached az, amiről beszélünk.
Másvalami miatt nem lehet lassú? DMA be van kapcsolva?
- A hozzászóláshoz be kell jelentkezni
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Oct04 ? 00:01:05 init
root 2 0 0 Oct04 ? 00:00:00 [migration/0]
root 3 1 0 Oct04 ? 00:00:00 [keventd]
root 4 1 0 Oct04 ? 00:00:00 [ksoftirqd/0]
root 7 1 0 Oct04 ? 00:00:00 [bdflush]
root 5 1 0 Oct04 ? 00:03:07 [kswapd]
root 6 1 0 Oct04 ? 00:03:38 [kscand]
root 8 1 0 Oct04 ? 00:01:47 [kupdated]
root 9 1 0 Oct04 ? 00:00:00 [mdrecoveryd]
root 15 1 0 Oct04 ? 00:00:00 [scsi_eh_0]
root 18 1 0 Oct04 ? 00:17:49 [kjournald]
root 112 1 0 Oct04 ? 00:00:00 [khubd]
root 1058 1 0 Oct04 ? 00:00:00 [kjournald]
root 1337 1 0 Oct04 ? 00:01:51 syslogd -m 0
root 1341 1 0 Oct04 ? 00:00:02 klogd -x
rpc 1367 1 0 Oct04 ? 00:00:00 portmap
root 1408 1 0 Oct04 ? 00:01:28 /usr/sbin/sshd
root 1463 1 0 Oct04 ? 00:00:13 crond
root 1669 1 0 Oct04 tty1 00:00:00 /sbin/mingetty tty1
root 1670 1 0 Oct04 tty2 00:00:00 /sbin/mingetty tty2
root 1671 1 0 Oct04 tty3 00:00:00 /sbin/mingetty tty3
root 1672 1 0 Oct04 tty4 00:00:00 /sbin/mingetty tty4
root 1673 1 0 Oct04 tty5 00:00:00 /sbin/mingetty tty5
root 1674 1 0 Oct04 tty6 00:00:00 /sbin/mingetty tty6
root 1675 1 0 Oct04 ttyS0 00:00:00 /sbin/agetty -L 9600 ttyS0 vt100
root 28417 1408 0 04:05 ? 00:00:00 sshd: tlof [priv]
tlof 28419 28417 0 04:05 ? 00:00:00 sshd: tlof@pts/1
tlof 28420 28419 0 04:05 pts/1 00:00:00 -bash
root 30895 28420 0 04:26 pts/1 00:00:00 su
root 30896 30895 0 04:26 pts/1 00:00:00 bash
root 32573 1408 0 04:38 ? 00:00:00 sshd: tlof [priv]
tlof 32575 32573 0 04:38 ? 00:00:00 sshd: tlof@pts/4
tlof 32576 32575 0 04:38 pts/4 00:00:00 -bash
root 484 32576 0 05:32 pts/4 00:00:00 su
root 1885 484 0 05:32 pts/4 00:00:00 bash
root 5911 1885 0 05:39 pts/4 00:00:00 ps -ef
==================
Free eredmény:
total used free shared buffers cached
Mem: 1025376 925856 99520 0 143680 187684
-/+ buffers/cache: 594492 430884
Swap: 2048276 1280 2046996
A gond az, hogyha inditok egy apache-ot és egy pgSql -t akkor rögtön megnő a swap használata kb 200 megával, és a webszerver sebessége egy csigáéval egyenlő
- A hozzászóláshoz be kell jelentkezni
erdekes, a free szerint 430884 szabad memoriad van, ami kb a fele az 1 giganak.
- A hozzászóláshoz be kell jelentkezni
top
Amikor megjelenik a processzek táblázata, akkor "o" és utána "N" enter.
Ekkor a táblázatban a legnagyobb memória felhasználó processzek lesznek legfelül. (Az idéző jeleket nem kell írni!)
- A hozzászóláshoz be kell jelentkezni
top b x < < <
skubi RES
z meg színt csinál
- A hozzászóláshoz be kell jelentkezni
melyik kernelszéria?
engem is érdekelne a memóriafoglalás mikéntje, mert volt olyan, hogy az összes processz foglalt kb. 30M-et, a free szerint meg (-/+ buffers/cache used) 200M-et. ilyenkor azt a misztikus dolgot csináltam, hogy:
# python
> a=range(10**7)
Ctrl+C (mialatt foglalná a memóriát)
Ctrl+D
ezt esetleg többször, és kb. szinkronba került a ps kimenet a free-vel. mindez 2.4.31-es kernellel.
- A hozzászóláshoz be kell jelentkezni
Én első körben a következőket vizsgálnám:
- Hogy van beállítva a postgres? Mekkora shared memóriat használ?
Postgrest be lehet úgy paraméterezni, hogy x*100MB-ot használjon a memóriából.
- Akkor is lassú, ha csak apache-t indítasz?
vm.swapiness-t is nézd meg, hátha ott van valami lökött érték (default a 60).
- iowait mekkora? Nem lehet, hogy a háttértár a szűk keresztmetszet?
Ellenőrizd hdparm-al, hogy dma be van-e kapcsolva, milyen az átviteli mód, stb. smartctl-el, hogy az eszközök hibamentesen működnek (ha a rendszer támogatja).
Második körben más gépen kernelfordítás modulok nélkül, majd bootolás arról, és saját md5summal ellenőrizném az alap binárisokat, és az md5sums adatbázist is, hátha valamilyen kernelmodul rejti a futo processzeket.
Hirtelen ennyi jut eszembe, ezen adatok alapján.
- A hozzászóláshoz be kell jelentkezni
Ez egy redhat enterprise vas uname kimenet
Linux dev.valami.com 2.4.21-40.ELsmp #1 SMP Thu Feb 2 22:22:39 EST 2006 i686 i686 i386 GNU/Linux
A topon megnéztem amit mondtál. össze adva közel sem jönnek ki az értékek.
- A hozzászóláshoz be kell jelentkezni
A top számait teljesen felesleges összeadogatni. Soha nem kapsz vele jó értéket, mert a processz méreteibe beleszámolja (jogosan) a shared libek-et is. így akár a teljes memóriádnál nagyobb értéket is kaphatsz.
- A hozzászóláshoz be kell jelentkezni
Nem is ezzel van gondom, hanem azzal, hogy a topban számolt értékek mindennel együtt sincsen 100 mega ellenben a top szerint is 850-900 mega ram fogyott el. Ami nem zavarna, de ha szolgáltatást indítok azonnal swapolni kezd a gép, és lassul nagyon.
- A hozzászóláshoz be kell jelentkezni
Tök mindegy mit indítassz el, mindíg lassul?
- A hozzászóláshoz be kell jelentkezni
Nem törtek meg és futtatnak valami szemetet a gépeden? Egy processt azért el lehet úgy dugni, hogy ne lássa a ps és a top...
Egy chkrootkitet érdemes lenne futtatni minimum, meg ha van valami integritás ellenőrző eszköz telepítve azt megnézni.
Még két bagatell kérdés:
- milyen winyók vannak a gépben? hdparm be van lőve?
- prociról nem írtál semmit
- A hozzászóláshoz be kell jelentkezni
másik gépről áthozni egy top-ot vagy egy ps-t.
- A hozzászóláshoz be kell jelentkezni
A top csak azt a huszonvalahány processzt mutatja ami elfér a képernyőn.
- A hozzászóláshoz be kell jelentkezni