1. Visualização dos processos ------------------------------------ ps - process show: lista os processos do sistema. Para obter mais detalhes sobre a lista de opções disponivel, use "man ps" EXEMPLOS Para visualizar todos os processos do sistema, utilize: $ ps -e $ ps -ef $ ps -eF $ ps -ely Para visualizar a árvore de processos do sistema: $ ps -ejH $ ps axjf Para obter informações sobre as threads do sistema: $ ps -eLf $ ps axms Para ver todos os processo executando com privilégio de root: $ ps -U root -u root u Visualizar um processo específico (ex. syslogd): $ ps -C rsyslogd -o pid= Visualizar o nome do processo com um determinado PID (ex. 1): $ ps -p 1 -o comm= Visulizar a política de escalonamento por processo: $ sudo ps -ecT TS is SCHED_OTHER RR is SCHED_RR FF is SCHED_FIFO The difference between SCHED_FIFO and SCHED_RR is that among tasks with the same priority, SCHED_RR performs a round-robin with a certain timeslice; SCHED_FIFO, instead, needs the task to explicitly yield the processor. SCHED_OTHER is the common round-robin time-sharing scheduling policy that schedules a task for a certain timeslice depending on the other tasks running in the system. SCHED_DEADLINE is a CPU scheduler available in the Linux kernel since version 3.14, based on the Earliest Deadline First (EDF) Troca a política de escalonamento para RR para o processo 185420 $ sudo chrt -r -p 2 185420 ------------------------------------ pstree - mostra árvore de processos EXEMPLO $ pstree init-+-apache2---11*[apache2] |-cron |-fail2ban-server---2*[{fail2ban-server}] |-getty |-mailmanctl---8*[python] |-master-+-pickup | |-qmgr | `-tlsmgr |-monit---{monit} |-mysqld_safe-+-logger | `-mysqld---16*[{mysqld}] O processo pai aparece no lado esquerdo. A árvore indica o processo pai e filho, respectivamente da esquerda para direita. Caso o processo tenha criado diversos processos iguais, para simplificar, eles aparecem em N*[nome]. No exemplo, existem 11 processos apache2 criados. Caso o processo tenha criado threads, elas aparecem entre {}. No exemplo, o processo mysqld criou 16 threads. --------------------------------------------------------- top - mostra as tarefas que mais consomem CPU, atualizando a lista periodicamente EXEMPLO $ top top - 10:50:03 up 19 days, 12:10, 1 user, load average: 0.06, 0.15, 0.12 Tasks: 108 total, 4 running, 104 sleeping, 0 stopped, 0 zombie Cpu(s): 64.5%us, 18.9%sy, 0.0%ni, 16.3%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1843416k total, 1768176k used, 75240k free, 173400k buffers Swap: 0k total, 0k used, 0k free, 1046796k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 13239 www-data 20 0 220m 36m 4068 S 10.7 2.0 0:00.76 apache2 13861 www-data 20 0 145m 16m 6332 S 4.7 0.9 0:00.14 php 13864 www-data 20 0 143m 14m 6260 R 4.0 0.8 0:00.12 php 13859 www-data 20 0 145m 15m 6180 S 2.7 0.9 0:00.08 php 2201 mysql 20 0 230m 47m 6104 S 1.0 2.6 14:38.43 mysqld 13841 pedroso 20 0 10684 1144 860 R 0.7 0.1 0:00.26 top 2798 root 20 0 191m 10m 6008 S 0.3 0.6 1:29.56 apache2 O exemplo acima indica que existem 4 processos disputando a CPU e 104 processos bloqueados. São indicados os processos que mais consumiram o processador desde a última atualização. --------------------------------------------------------- nice - permite verificar a prioridade base do usuário e lançar processos com outra prioridade base EXEMPLO $ nice 0 O resultado indica que a prioridade base do usuário é 0. Todos os processos lançados por ele terão esta prioridade base. O Linux possui prioridades de -20 a +20. A prioridade +20 é a menor e a -20 é a menor. Para executar um processo com maior prioridade, utilize: $ sudo nice -n 10 --------------------------------------------------------- vmstat - visualiza recursos do sistema EXEMPLO $ vmstat -n 5 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 27316 182480 1105260 0 0 85 239 17 6 3 1 94 2 0 0 0 26584 182540 1105292 0 0 2 530 1459 736 0 0 98 2 ... Na coluna cpu, indica uso da cpu em % pelo usuário (us), sistema (sy), livre (id) e aguardando e/s (wa) Na coluna system, indica o número de troca de contextos por segundo (cs) e o número de interrupções por segundo (in) Na coluna io, indica o número de blocos lidos (bi) e o número de blocos escritos (bo) em dispositivos de bloco. Na coluna swap, indica a quantidade de bytes por segundo lida (si) e escrita (so) para área de swap Na coluna memory, indica a quantidade total de memória virtual usada (swpd), a quandidade de memória livre (free), a quantidade de memória usada como buffer (buff) e a quantidade de memória usada como cache (cache) Na coluna procs, indica o número de processos na fila de processos prontos (r) e o número de processos bloqueados que não foram acordados (b) ---------------------------------------------------------- kill - encerra um processo EXEMPLO $ kill -9 1022 encerra o processo 1022 $ killall firefox encerra todos os processos que tem o nome firefox ------------------------------------------------------------ gnome-system-monitor Visualizador gráfico para o estado dos processos e uso de recursos $ gnome-system-monitor &