Quando eu faço check- free
in em um servidor Prod, ele mostra que 70% da memória está sendo usada:
total used free shared buffers cached
Mem: 164923172 141171860 23751312 0 4555616 20648048
-/+ buffers/cache: 115968196 48954976
Swap: 8388600 0 8388600
Mas não encontrei qual processo está usando a memória, tentei o top
comando e está mostrando o processo usando apenas a memória 1.1 e 5.4%
Como posso descobrir qual processo está usando a memória?
Abaixo estão os principais resultados do comando:
15085 couchbas 25 0 2784m 2.4g 40m S 183.7 1.5 299597:00 beam.smp
28248 tibco 18 0 124m 100m 3440 S 20.9 0.1 2721:45 tibemsd
15334 couchbas 15 0 9114m 8.6g 3288 S 9.0 5.4 12996:28 memcached
15335 couchbas 18 0 6024 600 468 S 2.0 0.0 1704:54 sigar_port
15319 couchbas 15 0 775m 2516 944 S 0.7 0.0 269:13.41 i386-linux-godu
12167 tibco 16 0 11284 1464 784 R 0.3 0.0 0:00.04 top
12701 root 15 0 451m 427m 2140 S 0.3 0.3 18:25.02 controller
13163 root 11 -5 0 0 0 S 0.3 0.0 289:58.58 vxglm_thread
Respostas:
Isso mostrará os 10 principais processos que utilizam mais memória:
using top: quando você abre, a imprensa superior
m
fará um curto processo com base no uso da memória.Mas isso não resolverá o seu problema, no Linux tudo é arquivo ou processo. então os arquivos que você abriu também consumirão a memória. então isso não vai ajudar.
lsof
fornecerá todos os arquivos abertos com o tamanho do arquivo ou o deslocamento do arquivo em bytes.fonte
head
vez desse script awk - ele fornece a mesma saída e você economiza escrevendo muitos caracteres estranhos.Seu carneiro não é realmente usado. O Linux apenas armazena em cache as coisas em seu disco por padrão e coloca o que ele armazena em cache na seção "usada" do ram.
Se você carregar aplicativos que realmente usam essa RAM, eles serão usados.
Consulte http://www.linuxatemyram.com/
fonte
Você pode canalizar ps e classificar para obter o processo usando mais memória. Também permitirá que você especifique outros detalhes do processo que deseja ver com ele:
PS: O acima pressupõe que sua coluna de memória seja a primeira " classifique -k 1 -n -r "
fonte
Você pode usar o comando slabtop para visualizar quais objetos da laje são usados pelo kernel.
Além disso, você pode verificar a saída de / proc / meminfo
Procure essas 2 linhas na saída
O exemplo acima mostra 68MB de cache de laje sendo usado pelo kernel e 21MB podem ser recuperados. Para recuperar, você pode usar a técnica descrita aqui https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Performance_Tuning_Guide/#s-memory-tunables
fonte
Para uma análise interativa, você pode usar
htop
e pressionar a tecla de funçãoF6
para escolher a ordem de classificação, por exemploPERCENT_CPU
(uso da memória em porcentagem),M_RESIDENT
(tamanho da memória residente, a memória real usada),M_SIZE
(tamanho da memória virtual) ouM_SHARE
(tamanho da memória) . memoria compartilhada). Os dois primeiros são os números relevantes .As linhas verdes são linhas. Pressione (maiúscula)
K
eH
para ocultá-los.fonte