Eu encontrei esse comportamento estranho ontem em um de nossos servidores. ps , pgrep e htop (na inicialização) eram muito lentos. strace ps mostrou que read('/proc/$pid/cmdline ) levou alguns segundos em alguns processos. Por que isso aconteceu?
Algumas observações:
unlink e symlink operações em arquivos também no NFS, em paralelo while true; do cat /proc/$pid/status; sleep .1; done , cat retornou imediatamente se State é S ou R , mas demorou vários segundos quando State é D
Fiz algumas pesquisas no Google e encontrei algumas respostas de SO sugerindo que quando State é D , a leitura de /proc/$pid/cmdline seria interrompida. Isso é verdade? E como isso funciona? Por que /proc/$pid/cmdline , que foi definido antes do início do programa, foi afetado pelo que estava fazendo depois disso?