Dedicando uma CPU para processos específicos
Publicado por Marcelo Moreira de Mello em 04/11/2009
[ Hits: 10.340 ]
Blog: http://tchellomello.blogspot.com
PID COMMAND PSR
1 init 0
2 migration/0 0
3 ksoftirqd/0 0
4 watchdog/0 0
5 migration/1 1
6 ksoftirqd/1 1
7 watchdog/1 1
8 events/0 0
9 events/1 1
10 khelper 0
11 kthread 0
15 kblockd/0 0
16 kblockd/1 1
17 kacpid 0
135 cqueue/0 0
136 cqueue/1 1
139 khubd 0
141 kseriod 0
208 pdflush 0
209 pdflush 0
210 kswapd0 0
211 aio/0 0
212 aio/1 1
367 pccardd 0
377 kpsmoused 0
409 ata/0 0
410 ata/1 1
411 ata_aux 0
415 scsi_eh_0 0
416 scsi_eh_1 0
417 scsi_eh_2 0
418 scsi_eh_3 0
425 kstriped 0
438 ksnapd 0
453 kjournald 0
481 kauditd 0
514 udevd 0
1178 iwl3945/0 0
1179 iwl3945/1 1
1181 iwl3945 0
1508 hd-audio0 0
2061 kcryptd_io 0
2062 kcryptd 0
2071 kmpathd/0 0
2072 kmpathd/1 1
2073 kmpath_handlerd 0
2162 kjournald 0
2170 kjournald 0
2175 kjournald 0
2413 kondemand/0 0
2414 kondemand/1 1
2503 auditd 0
2505 audispd 0
2537 syslogd 0
2540 klogd 0
2576 portmap 0
2606 rpciod/0 0
2607 rpciod/1 1
2614 rpc.idmapd 0
2639 dbus-daemon 0
2665 acpid 0
2679 hald 0
2680 hald-runner 0
2687 hald-addon-acpi 0
2694 hald-addon-keyb 0
2703 hald-addon-keyb 0
2706 hald-addon-keyb 0
2709 hald-addon-keyb 0
2715 hald-addon-stor 0
2754 sshd 0
2768 cupsd 0
2769 cups-polld 0
2784 xinetd 0
2807 sendmail 0
2815 sendmail 0
2830 gpm 0
2844 nasd 0
2858 crond 0
2890 xfs 0
2917 atd 0
2948 libvirtd 0
2963 rhnsd 0
3031 NetworkManager 0
3054 wpa_supplicant 0
3056 nm-system-setti 0
3058 dnsmasq 0
3072 smartd 0
3098 mingetty 0
3099 mingetty 0
3102 mingetty 0
3105 mingetty 0
3120 mingetty 0
3122 mingetty 0
3123 gdm-binary 0
3184 gdm-binary 0
3186 gdm-rh-security 0
3189 Xorg 0
3237 yum-updatesd 0
3239 gam_server 0
3251 gnome-session 0
3287 ssh-agent 0
3316 dbus-launch 0
3317 dbus-daemon 0
3323 gconfd-2 0
3326 gnome-keyring-d 0
3328 gnome-settings- 0
3348 metacity 0
3352 gnome-panel 0
3354 nautilus 0
3355 gnome-volume-ma 0
3357 bonobo-activati 0
3360 pidgin 0
3362 gnome-vfs-daemo 0
3366 eggcups 0
3376 bt-applet 0
3380 nm-applet 0
3385 puplet 0
3400 escd 0
3401 gnome-power-man 0
3418 mapping-daemon 0
3425 gweather-applet 0
3427 wnck-applet 0
3455 trashapplet 0
3482 gam_server 0
3501 stickynotes_app 0
3504 mixer_applet2 0
3506 clock-applet 0
3511 pam-panel-icon 0
3512 pam_timestamp_c 0
3516 notification-ar 0
3518 dhclient 0
3551 gnome-screensav 0
3566 gnome-terminal 0
3568 gnome-pty-helpe 0
3569 bash 0
3595 su 0
3598 bash 0
3702 bash 0
3741 run-mozilla.sh 0
3766 firefox 0
3803 npviewer.bin 0
3822 bash 0
3847 vim 0
3849 su 0
3852 bash 0
3891 bash 0
3918 su 0
3921 bash 0
3955 ps 0
Obs.: Por mais que se isole um ou vários processadores do scheduler, alguns processos a nível de kernel-space já estarão alocados aguardando por tarefas user-space.
PID COMMAND PSR 1 init 0 4328 vsftpd 0Como podemos constatar, o scheduler atribuiu o CPU0 para as 2 tarefas. O que faremos agora é dedicar a CPU1 para os processos init e vsftpd.
PID COMMAND PSR 1 init 1 4328 vsftpd 1Pronto!!! Os processos init e vsftpd já estão rodando exclusivamente na CPU1. Outro recurso interessante do cpuset é que se o processo trabalhar com FORK, o processo filho irá herdar a cpu dedicada do processo pai, como no caso do vsftpd.
PID COMMAND PSR 1 init 1 4328 vsftpd 1 4352 vsftpd 1A cada novo processo o scheduler sempre irá atribuir a CPU0, afinal é a única CPU disponível (lembrem-se que isolamos a CPU1 do scheduler com o parâmetro isolcpus=1). Assim sendo, é extremamente recomendado a criação de um script que obtenha o PID do processo à ser isolado e envie para o conjunto cpuset desejado. Outra consideração também é que os diretórios criados dentro do /cpuset não são persistentes e portanto precisam ser recriados a cada reboot.
Ataque de dicionário com OpenSSL - quebrando senhas
Atualizando o seu Fedora com o Preupgrade
Utilizando o RPM como ferramenta de recovery e auditoria
Tunando o sistema de arquivos - entendendo o journal do EXT3
Ativando e desativando CPUs sob demanda
Bootsplash em kernel "não oficial" 2.6.X no Slackware
Como inserir o Tux/TuxDebian durante o boot do Debian
Reiniciar máquina após Kernel panic
Segurança na compilação de um kernel novo
Module-assistent, coisa linda!
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?









