Fórum Root.cz
Hlavní témata => Server => Téma založeno: Josef 24. 06. 2014, 11:01:49
-
Ahoj,
mam problem, ze na serveru se 4 Gb RAM dochazi pamet, ale nemuzu zjistit, ktery proces konzujume tolik pameti. Pri top -M dostanu
Mem: 4940.262M total, 4611.539M used, 328.723M free, 318.016M buffers
A v procesech co vidim nema zadnej takovy vyuziti pameti, pripadne neexistuje sada procesu, ktera by celkove pozirala tolik pameti.
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.0%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4940.262M total, 4612.168M used, 328.094M free, 318.328M buffers
Swap: 999.992M total, 0.000k used, 999.992M free, 4124.398M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
23410 20 0 90548 34m 3952 S 0.0 0.7 0:03.50 beam.smp
11181 20 0 25116 4704 3148 S 0.0 0.1 0:25.25 smbd
11182 20 0 25064 4532 3040 S 0.0 0.1 0:20.08 smbd
2597 20 0 14668 4448 3368 S 0.0 0.1 0:00.95 sshd
1576 20 0 50604 4300 3356 S 0.0 0.1 2:23.30 qpidd
22161 20 0 24568 4232 3176 S 0.0 0.1 0:00.68 smbd
11177 20 0 23836 3404 2596 S 0.0 0.1 0:00.00 smbd
1321 20 0 16928 3308 2500 S 0.0 0.1 0:19.48 hald
23420 20 0 9456 2484 1948 S 0.0 0.0 0:00.00 inet_gethost
2599 20 0 5224 1752 1436 S 0.0 0.0 0:00.33 bash
11180 20 0 23884 1512 704 S 0.0 0.0 0:00.00 smbd
1 20 0 2900 1348 1136 S 0.0 0.0 0:16.30 init
1322 20 0 3980 1216 1028 S 0.0 0.0 0:00.00 hald-runner
1603 20 0 6028 1204 600 S 0.0 0.0 1:02.55 crond
1247 20 0 2840 1176 772 S 0.0 0.0 0:00.07 rpc.statd
24699 20 0 2700 1136 864 R 0.0 0.0 0:00.46 top
1478 20 0 9024 1116 524 S 0.0 0.0 0:05.10 sshd
1354 20 0 4052 1112 968 S 0.0 0.0 0:00.00 hald-addon-inpu
1373 20 0 3640 1072 944 S 0.0 0.0 0:00.00 hald-addon-acpi
25490 20 0 37300 1032 700 S 0.0 0.0 0:00.01 apcupsd3
21408 20 0 162m 1012 712 S 0.0 0.0 0:00.25 tgtd
1179 16 -4 15132 940 560 S 0.0 0.0 0:52.83 auditd
1370 20 0 3584 880 768 S 0.0 0.0 0:46.71 hald-addon-hid-
1280 20 0 3000 864 652 S 0.0 0.0 0:03.74 dbus-daemon
1229 20 0 2576 764 564 S 0.0 0.0 0:01.22 rpcbind
1678 18 -2 2460 764 364 S 0.0 0.0 0:00.01 udevd
1679 18 -2 2456 724 348 S 0.0 0.0 0:00.00 udevd
484 16 -4 2460 720 344 S 0.0 0.0 0:00.64 udevd
1272 20 0 2220 672 476 S 0.0 0.0 0:48.32 vnstatd
1197 20 0 2056 512 436 S 0.0 0.0 0:00.00 portreserve
24178 20 0 2008 504 444 S 0.0 0.0 0:00.00 mingetty
21411 20 0 2560 500 360 S 0.0 0.0 0:00.01 tgtd
24180 20 0 2008 500 444 S 0.0 0.0 0:00.00 mingetty
24181 20 0 2008 500 444 S 0.0 0.0 0:00.00 mingetty
24183 20 0 2008 500 444 S 0.0 0.0 0:00.00 mingetty
24179 20 0 2008 496 444 S 0.0 0.0 0:00.00 mingetty
24182 20 0 2008 496 444 S 0.0 0.0 0:00.00 mingetty
1312 20 0 5048 484 332 S 0.0 0.0 0:00.00 quota_nld
23419 20 0 2236 464 380 S 0.0 0.0 0:00.00 inet_gethost
23365 20 0 2264 392 284 S 0.0 0.0 0:00.00 epmd
2 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 RT 0 0 0 0 S 0.0 0.0 0:11.39 migration/0
4 20 0 0 0 0 S 0.0 0.0 1:31.70 ksoftirqd/0
5 RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 RT 0 0 0 0 S 0.0 0.0 0:02.99 watchdog/0
-
http://www.linuxatemyram.com/
-
asi proto, ze to uzira kernel na to, aby bezel system svizneji, kdyz uz se ta ram vali ladem a zadny proces ji nechce obsadit.
cat /proc/meminfo
-
ano, TOP je z mého pohledu trochu hloupý, ukazuje nepraktické věci. zkus HTOP
-
Zkus smem http://www.selenic.com/smem/
-
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.0%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4940.262M total, 4612.168M used, 328.094M free, 318.328M buffers
Swap: 999.992M total, 0.000k used, 999.992M free, 4124.398M cached
Na třetím řádku máš "4124.398M cached". To znamená, že zbývající paměť je využita jako cache. Je to v pořádku.
-
4124.398M cached
Linux se tak chová, prostě využívá volnou paměť datama, který se můžou (ale nemusí) hodit.
Tobě se tam někde válí 4GB něčeho odloženýho. Pokud budou ty GB potřebný, systém je pro aplikaci pustí.
Ty máš vlastně volných řádově 4100 (cached) + 300 (buffers) + 300 (free) MB RAM. Tj. 4700 ze 4900. Když sečteš paměť využitou běžícíma procesama, měla by vyplnit těch zbylých cca 200 MB. Je to tak?
Osobně jsem zažil příklad, kdy se mi sakra hodilo, že to tak dělá. Přenášel jsem asi 2GB soubor mez serverama a na něčem to spadlo. Když jsem ho začal přenášet znova, tak se cca 1,5GB na disk "vysypalo" rovnou z RAM, aniž bych znova cokoliv přenesl...