Isso é específico para Linux e bash. Algumas delas funcionarão em outros Unixes, e algumas funcionarão em outros shells. Em particular, as coisas que envolvem qualquer coisa em /proc
não funcionarão em nenhum outro Unix. E enquanto eu acho que a maioria das shells tem $$
, eu não sei que qualquer shell, mas o bash tem $PPID
.
-
echo $$
-
echo $PPID
-
ps -u $USER | tail -n +2 | wc -l
-
ps -e | tail -n +2 | wc -l
- É possível descobrir, mas não é muito fácil.
-
fgrep MemTotal /proc/meminfo
- Esta pergunta também não tem uma resposta fácil. Em um sistema ideal, nunca há mais do que uma pequena memória 'livre', já que qualquer um que não seja necessário para os programas será alocado para o cache de disco. O Linux desloca dinamicamente a memória entre os processos usados e o cache.
-
ps -ev
e procure por processos que tenham um grande RSS, que significa 'tamanho do conjunto de residentes' e represente a quantidade de memória que o processo está usando. -
kill -STOP <pid>
- Primeiro, mate suavemente
kill <pid>
e se ele não desaparecer logo em seguida, mate-o com prejuízokill -9 <pid>
. Ele irá embora após o -9, se isso não acontecer, é um problema no kernel de algum tipo.
Como alguns mencionaram, o utilitário top
(faça um man top
) será muito útil. Ele informará sobre a memória total e quanto está sendo usado para buffers e cache, e quanto é gratuito. Também pode ser usado para mostrar processos ordenados por uso de memória ou uso da CPU.