SISTEMAS OPERACIONAIS DE ARQUITETURA ABERTA 5. Gerência de memória, processamento e hardware Prof. Ulisses Cotta Cavalca <ulisses.cotta@gmail.com> Belo Horizonte/MG 2015 1
SUMÁRIO 1. Comandos para gerência de memória 2. Comandos para gerência de processamento 3. Comandos para gerência de hardware 2
1. Comandos para gerência de memória free: Mostra os espaços livres e aqueles ocupados em memória RAM e Swap root@moriat:/home/ulisses# free m total usado livre compart. buffers em cache Mem: 3910 2225 1685 204 125 1215 /+ buffers/cache: 885 3025 Swap: 1952 0 1952 Neste exemplo: Memória do computador: 4GB Total usado : 2225MB Total definido para Swap: 2GB 3
1. Comandos para gerência de memória pmap: Mostra detalhadamente como um processo está utilizando a memória. root@moriat:/home/ulisses# pmap p 2800 2800: /usr/lib/firefox/firefox 96288000 108K r x /usr/lib/firefox/libnssdbm3.so 962a3000 4K r /usr/lib/firefox/libnssdbm3.so 962a4000 4K rw /usr/lib/firefox/libnssdbm3.so 962a5000 356K r /home/ulisses/.mozilla/firefox/aa0mfuyn.default/extensions/personas@chr istopher.beard.xpi Neste exemplo: Uso de memória pelo firefox, cujo processo no sistema é identificado pelo PID 2800 4
ps: Mostra os processos que estão sendo executados. a: mostra os processos que rodam em todos os terminais. A expressão tty designa temrinal local, enquanto pts os terminais remotos f: Mostra os processos-filhos (threads) ligados aos seus processos-pai x: Mostra processos que rodam independentes de terminal u: Mostra outros dados, inclusive os usuários donos de 5 processos
ps: Mostra os processos que estão sendo executados. root@moriat:/home/ulisses# ps axf PID TTY STAT TIME COMMAND 2? S 0:00 [kthreadd] 3? S 0:00 \_ [ksoftirqd/0] 5? S< 0:00 \_ [kworker/0:0h] 7? S 0:01 \_ [rcu_sched] 8? S 0:00 \_ [rcu_bh] 9? S 0:00 \_ [migration/0] 10? S 0:00 \_ [watchdog/0] 6 11? S 0:00 \_ [watchdog/1]
ps: Mostra os processos que estão sendo executados. root@moriat:/home/ulisses# ps aux grep firefox ulisses 2800 11.6 12.1 1396264 488148? Sl 20:08 3:52 /usr/lib/firefox/firefox ulisses 4180 7.2 0.9 329236 37472? Sl 20:23 1:19 /usr/lib/firefox/plugin container /usr/lib/flashplugininstaller/libflashplayer.so greomni /usr/lib/firefox/omni.ja appomni /usr/lib/firefox/browser/omni.ja appdir /usr/lib/firefox/browser 2800 true plugin root 4741 0.0 0.0 6164 820 pts/1 D+ 20:41 0:00 grep color=auto firefox Neste exemplo, mostra os processos referente ao software 7 firefox
ps: Colunas mostradas pelo comando USER: Usuário que está rodando o processo PID: ID do processo %CPU: % de CPU que o processo está consumindo %MEM: % de memória que o processo está consumindo VSZ: Total de memória virtual alocado para o processo RSS: Uso real de memória RAM pelo processo TTY: Terminal ao qual o processo está sendo executado STAT: Estado de execução de um processo (listado a seguir) START: Data/hora do início da execução do processo COMMAND: Comando/processo em execução 8
kill: Envia sinal para um processo em execução. Geralmente utilizado para encerrar processos. -9 (ou -KILL): Mata processo, não admitindo bloqueios por parte do sistema -1 (ou -HUP): Reinicializa o processo -l: Lista a relação de possível sinais root@moriat:/home/ulisses# ps aux grep mousepad ulisses 4807 0.2 0.4 296652 17660? Sl 20:50 0:00 mousepad root 4839 0.2 0.3 143616 13632 pts/1 S+ 20:53 0:00 mousepad root@moriat:/home/ulisses# kill 9 4839 9
jobs: Mostra os processos que estão sendo executados em background (segundo plano). Nesse comando, os processos recebem numeração especial: root@moriat:/home/ulisses# firefox & [1] 4967 root@moriat:/home/ulisses# mousepad & [2] 5043 root@moriat:/home/ulisses# libreoffice & [3] 5045 root@moriat:/home/ulisses# jobs [1] Executando firefox & [2] Executando mousepad & [3]+ Executando libreoffice & 10
bg: Reinicia, em segundo plano, a execução de um processo parado por Ctrl+Z. Do exemplo anterior: root@moriat:/home/ulisses# bg 3 [3]+ libreoffice & fg: Reinicia, em primeiro plano, a execução de um processo parado por Ctrl+Z. Do exemplo anterior: root@moriat:/home/ulisses# fg 3 libreoffice 11
top: Exibe em uma interface interativa o uso e CPU e memória por parte dos processos: 12
3. Comandos para gerência de hardware lsusb: Mostra os dispositivos USB em utilização no sistema: root@moriat:/home/ulisses# lsusb Bus 002 Device 003: ID 0a5c:5801 Broadcom Corp. BCM5880 Secure Applications Processor with fingerprint swipe sensor Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 0c45:648b Microdia Integrated Webcam Bus 001 Device 003: ID 413c:8197 Dell Computer Corp. Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 13 Bus 003 Device 002: ID 046d:c077 Logitech, Inc. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3. Comandos para gerência de hardware cat /proc/cpuinfo: Lê o arquivo /proc/cpuinfo, que contém todos os dados sobre o processador da máquina. cat /proc/swaps: Lê o arquivo /proc/cpuinfo, que contém informações sobre SWAP. cat /proc/meminfo: Lê o arquivo /proc/meminfo, que contém informações sobre uso de memória do sistema 14
15