Antes de você obter seus forcados fora, estou tendo problemas para rastrear onde a memória está indo para o sistema de cache no Linux. Eu vi o Linux comeu minha RAM! , e e
Para este sistema, eu entendo que ele é provavelmente "armazenado em cache", ou usado pelos programas, mas os números nem estão chegando perto de somar para mim.
No topo, vejo.
top - 09:04:09 up 19 days, 20:38, 2 users, load average: 0.00, 0.10, 0.11
Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 65974296k total, 43507804k used, 22466492k free, 305336k buffers
Swap: 7548924k total, 0k used, 7548924k free, 1480836k cached
Eu entendo, 43GB de RAM "used" não é realmente verdade, provavelmente a maior parte provavelmente é armazenada em cache. Então, cavando nele eu corri:
$ free -m
total used free shared buffers cached
Mem: 64428 38845 25582 0 298 1445
-/+ buffers/cache: 37101 27326
Swap: 7371 0 7371
Então, isso mostra que 37GB são realmente usados e apenas 1445MB são armazenados em cache (é onde eu esperaria ver o 1445 ser algo como 20000). Os sites que eu relacionei acima mostram que a coluna "cache" geralmente é bem alta.
Então, cavando mais eu fui e fiz o seguinte para verificar os aplicativos que estavam usando a memória.
sudo smem -t
PID User Command Swap USS PSS RSS
9468
21475 root python /usr/bin/smem -t 0 6212 6234 6984
2431 root /opt/OV/lbin/perf/coda 0 7156 8060 12068
2213 root /opt/perf/bin/perfd 0 19056 19485 22032
20849 root /opt/shiny-server/ext/node/ 0 77244 77321 78616
21325 atpa /usr/lib64/R/bin/exec/R --n 0 3729836 3733774 3739520
21287 atpa /usr/lib64/R/bin/exec/R --n 0 4060136 4064074 4069820
-------------------------------------------------------------------------------
63 11
0 7947984 7970344 8054032
Portanto, duas aplicações de R estão usando ~ 8GB de memória.
Os outros artigos que eu relacionei acima mostram que o Linux estava "reservando" a memória e mantendo-a em cache (por exemplo, free -m mostrou que o cache era alto valor na linha "Mem:"), enquanto no meu caso parecia Na verdade, em uso, mas nenhum aplicativo realmente parece estar relatando o uso da memória e não consigo rastrear onde o Linux está usando (armazenando em cache / reservando?) a memória.
Onde esta memória está indo? Estou assumindo que o Linux está usando, mas não consigo determinar onde está sendo utilizado.
/proc/meminfo
mostra
MemTotal: 65974296 kB
MemFree: 24191624 kB
Buffers: 305320 kB
Cached: 1480760 kB
SwapCached: 0 kB
Active: 7769776 kB
Inactive: 215532 kB
Active(anon): 6199392 kB
Inactive(anon): 476 kB
Active(file): 1570384 kB
Inactive(file): 215056 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 7548924 kB
SwapFree: 7548924 kB
Dirty: 116 kB
Writeback: 0 kB
AnonPages: 6172696 kB
Mapped: 47400 kB
Shmem: 652 kB
Slab: 255468 kB
SReclaimable: 225620 kB
SUnreclaim: 29848 kB
KernelStack: 1736 kB
PageTables: 18780 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 40536072 kB
Committed_AS: 6455352 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 247288 kB
VmallocChunk: 34359487760 kB
HardwareCorrupted: 0 kB
AnonHugePages: 2586624 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 10240 kB
DirectMap2M: 67098624 kB