第6ç« å®è¡äžã®ããã»ã¹ã管çãã
Linuxã£ãŠããã«ããŠãŒã¶ãŒOSã§ããã«ãã¿ã¹ã¯ã·ã¹ãã ã§ããããã ããã«ãã¿ã¹ã¯ã£ãŠããšã¯ãè€æ°ã®ããã°ã©ã ãåæã«åãããã£ãŠããšããã®åããŠãããã°ã©ã ã®ã€ã³ã¹ã¿ã³ã¹ã®ããšããéåžžãããã»ã¹ãã£ãŠåŒã¶ãã ãã
ã·ã§ã«ããããã»ã¹ãèµ·åããããäžæåæ¢ããããã忢ããããã匷å¶çµäºããããã§ãããã ãããã«ãããã»ã¹ãããã¯ã°ã©ãŠã³ãã«çœ®ãããããã©ã¢ã°ã©ãŠã³ãã«æ»ããããã§ãããã
6.1 ããã»ã¹ãçè§£ããã
ããã»ã¹ã£ãŠããã®ã¯ãã³ãã³ããå®è¡ãããã€ã³ã¹ã¿ã³ã¹ã®ããšãã·ã¹ãã äžã®ããã»ã¹ã¯ãããã»ã¹ID (PID) ã£ãŠããã®ã§èå¥ãããŠãŠããã®PIDã¯çŸåšã®ã·ã¹ãã äžã§ãŠããŒã¯ãªãã ãPID以å€ã«ããããã»ã¹ã¯ç¹å®ã®ãŠãŒã¶ãŒã¢ã«ãŠã³ããã°ã«ãŒãã¢ã«ãŠã³ããšçŽã¥ããŠãŠããã®ããã»ã¹ãã©ããªã·ã¹ãã ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ãããã倿ããã®ã«åœ¹ç«ã€ãã ã
ããã»ã¹é¢é£ã®æ å ±ã衚瀺ããã³ãã³ãã¯ãäž»ã«/procãã¡ã€ã«ã·ã¹ãã ã«ä¿åãããŠãçããŒã¿ããæ å ±ãååŸããŠãããåããã»ã¹ã¯/procå ã®ãµããã£ã¬ã¯ããªïŒãã®ããã»ã¹ã®PIDãååã«ãªã£ãŠãïŒã«èªåã®æ å ±ãä¿åããŠããã ã
6.2 ããã»ã¹ã®äžèŠ§è¡šç€º
psã³ãã³ããtopã³ãã³ãã䜿ããã ãtopã³ãã³ãã®æ¹ããããç»é¢ã«ç¹åãã圢ã§ããã»ã¹ãäžèŠ§è¡šç€ºããŠããããã
6.2.1 psã³ãã³ãã§ããã»ã¹ãäžèŠ§è¡šç€ºããã
ps uã䜿ããšããŠãŒã¶ãŒåãšãä»ã®æ
å ±ã衚瀺ããŠããããã
VSZïŒä»®æ³ã¡ã¢ãªãµã€ãº (Virtual Set Size) ã§ãã€ã¡ãŒãžããã»ã¹ã®ãµã€ãºïŒåäœïŒKBïŒã衚瀺ãããã ã
RSSïŒ(Resident Set Size) ã§ãã¡ã¢ãªäžã®ããã°ã©ã ã®ãµã€ãºã衚瀺ãããã
VSZã¯ããã»ã¹ã«å²ãåœãŠãããã¡ã¢ãªéã§ãRSSã¯ããã»ã¹ãå®éã«äœ¿ã£ãŠãã¡ã¢ãªéïŒã¹ã¯ããã§ããªãç©çã¡ã¢ãªã®ããšïŒã衚ããŠããã ã
STATåïŒSã¯çŸåšå®è¡äžã®ããã»ã¹ãRã¯ã¹ãªãŒãäžã®ããã»ã¹ã+ã¯ããã»ã¹ããã©ã¢ã°ã©ãŠã³ãæäœãšé¢é£ããŠãããšã瀺ããã ã
çŸåšã®ãŠãŒã¶ãŒã®å
šããã»ã¹ãèŠãã«ã¯ïŒps ux | less
å
šãŠãŒã¶ãŒã®ããã»ã¹ãèŠãã«ã¯ïŒps aux | less
åºååãã«ã¹ã¿ãã€ãºããããç¹å®ã®åã§ãœãŒãããããã§ããããäŸãã°ãããªæãã
| |
-eã¯å®è¡äžã®å
šããã»ã¹ã衚瀺ãããªãã·ã§ã³ã§ã-oã®åŸãã«ã¯è¡šç€ºããåãæå®ãããã ãcommã¯ã³ãã³ãã§ã--sort=-vszã¯vszåã§å€§ããé ã«ãœãŒãããã£ãŠæå³ã ãã
6.2.2 topã³ãã³ãã§ããã»ã¹ãäžèŠ§è¡šç€ºã»å€æŽããã
topã³ãã³ãã䜿ããšãããã©ã«ãã§ã¯ããã»ã¹ãçŸåšäœ¿ã£ãŠãCPUã®å²åã§ãœãŒããããŠè¡šç€ºããããã ã
topã³ãã³ãã§ã§ããæäœã¯ããïŒ
| ã³ãã³ã | 説æ |
|---|---|
| h | ãã«ã |
| M | ã¡ã¢ãªäœ¿çšç¶æ³ã§ãœãŒã |
| 1 | å šCPUã®äœ¿çšç¶æ³è¡šç€ºãåãæ¿ã (ã·ã¹ãã ã«è€æ°ã®CPUãããå Žå) |
| R | éé ãœãŒã |
| u | ãã®åŸãŠãŒã¶ãŒåãå ¥åãããšããã®ãŠãŒã¶ãŒã®ããã»ã¹ã衚瀺 |
| r | ããã»ã¹ã®åªå 床ãå€æŽ (niceå€) |
| k | ããã»ã¹ã匷å¶çµäº (killã³ãã³ã) |
6.2.3 System Monitorã§ããã»ã¹ãäžèŠ§è¡šç€ºããã
GNOMEãã¹ã¯ãããã®GUIããŒã«ã ãã
6.3 ããã¯ã°ã©ãŠã³ããšãã©ã¢ã°ã©ãŠã³ãã®ããã»ã¹ã管çããã
GUIããªãã·ã¹ãã ã ãšãå šéšã·ã§ã«ã§æäœãããããªããããBashã·ã§ã«ã«ã¯è€æ°ã®ããã°ã©ã ã管çããGUIã¯ã€ããŠãªããã©ãã¢ã¯ãã£ããªããã°ã©ã ãããã¯ã°ã©ãŠã³ããšãã©ã¢ã°ã©ãŠã³ãã§çŽæ¥ç§»åãããããšãã§ãããã ãããããã°ãããããã®ããã°ã©ã ãåããã€ã€ãä»ããããããã°ã©ã ãéžãã§äœæ¥ã§ããã£ãŠããã
6.3.1 ããã¯ã°ã©ãŠã³ãããã»ã¹ãèµ·åããã
ã³ãã³ããããã¯ã°ã©ãŠã³ãã«çœ®ãã«ã¯ïŒ
ã³ãã³ãã®åŸãã«
&ãã€ããatã³ãã³ãã䜿ã£ãŠä»ã®ã³ãã³ããå®è¡ããå®è¡äžã®ããã»ã¹ã«å¯ŸããŠã¯ãCtrl+Zã§åæ¢ãããŠããããã
fgã§ãã©ã¢ã°ã©ãŠã³ãã«æ»ãããbgã§ããã¯ã°ã©ãŠã³ãã§å®è¡ãåéããã
ããã¯ã°ã©ãŠã³ãã®åºåããã©ã¢ã°ã©ãŠã³ãã®æäœãéªéããªãããã«ã空ã®ããã€ã¹
2>/dev/nullã«ãªãã€ã¬ã¯ãããããšãã§ãããã
jobsã³ãã³ãã§ããã¯ã°ã©ãŠã³ãã§åããŠãã³ãã³ãã確èªã§ãããïŒ-lã䜿ããšPIDãèŠããïŒãã³ãã³ãçªå·ã®åã«+ãã€ããŠãã®ã¯æè¿ããã¯ã°ã©ãŠã³ãã«çœ®ããããžã§ãã§ã-ãã€ããŠãã®ã¯ãã®åã«çœ®ããããžã§ããªãã ã
6.3.2 ãã©ã¢ã°ã©ãŠã³ããšããã¯ã°ã©ãŠã³ãã®ã³ãã³ãã䜿ã£ãŠã¿ãã
ããã¯ã°ã©ãŠã³ããžã§ããåç
§ããããªãã%ãšãžã§ãçªå·ïŒjobsã³ãã³ãã®åºåïŒã䜿ããã ãä»ã«ããããªæ¹æ³ããããã
%— æè¿ããã¯ã°ã©ãŠã³ãã«çœ®ããããžã§ãïŒã€ãŸãçªå·ã®åŸãã«+ãã€ããŠããã€ïŒãåç §ãã%string— stringã§å§ãŸããžã§ãïŒãããŸãã ãšãã¡ãã€ãŸãäžèŽçµæããŠããŒã¯ãããªããšïŒ%?string— ã³ãã³ãã©ã€ã³ã®ã©ããã«stringãå«ãŸãããžã§ãïŒããããããŸãã ãšãã¡ãäžèŽçµæããŠããŒã¯ãããªããšïŒ%--— æè¿ããã¯ã°ã©ãŠã³ãã«çœ®ããããžã§ãã®åã«çœ®ããããžã§ãïŒã€ãŸãçªå·ã®åŸãã«-ãã€ããŠããã€ïŒãåç §ãã
fg %1ã䜿ããšãçªå·1ã®ã¿ã¹ã¯ããã©ã¢ã°ã©ãŠã³ãã«æã£ãŠããããšãã§ããããbg %5ã䜿ããšã忢äžã®çªå·5ã®ã³ãã³ããããã¯ã°ã©ãŠã³ãã§å®è¡ãç¶ããããããšãã§ãããã
viã³ãã³ããªããã¯ãããã¯ã°ã©ãŠã³ãã«çœ®ãåã«èªåçã«åæ¢ãã¡ãããããå¿ãã¡ãããªãããã«ãã¡ã€ã«ãä¿åããŠããããã¯ã°ã©ãŠã³ãã«çœ®ãã®ãå¿ããã«ãã
6.4 ããã»ã¹ã匷å¶çµäºããã倿Žãããããã
ããã»ã¹ã«ããããªã·ã°ãã«ãéã£ãŠãã®æåãå€ããããšãã§ããããããã»ã¹ã®ããã»ããµåªå 床ã倿Žããããšãã§ãããã ã
6.4.1 killãškillallã³ãã³ãã§ããã»ã¹ã匷å¶çµäºãããã
ãã®2ã€ã®ã³ãã³ãã¯ãããå®è¡äžã®ããã»ã¹ãçµäºãããã®ã«äœ¿ããããã©ãå®éã«ã¯ããã»ã¹ã«æå¹ãªã·ã°ãã«ãéã£ãŠããã ãã·ã°ãã«ã¯æ°åãååã§è¡šããããã
| ã·ã°ãã« | æ°å | 説æ |
|---|---|---|
| SIGHUP | 1 | èšå®ãã¡ã€ã«ãåèªã¿èŸŒã¿ãã |
| SIGINT | 2 | ããŒããŒãããã®å²ã蟌㿠|
| SIGQUIT | 3 | ããŒããŒãããã®çµäº |
| SIGABRT | 6 | abort(3)åŒã³åºãã§çæãããäžæã·ã°ãã« |
| SIGKILL | 9 | 匷å¶çµäºã·ã°ãã« |
| SIGTERM | 15 | çµäºã·ã°ãã« |
| SIGCONT | 19, 18, 25 | 忢äžã®ããã»ã¹ãåéãã |
| SIGSTOP | 17, 19, 23 | ããã»ã¹ã忢ãã |
æåŸã®2ã€ã®ã·ã°ãã«ã«ã€ããŠã¯ãæåã®å€ã¯AlphaãšSPARCåããçãäžã®å€ã¯x86åããæåŸã®å€ã¯MIPSã¢ãŒããã¯ãã£åãã ãã
ããã©ã«ãã¯SIGTERM (15) ã·ã°ãã«ãªãã ãç°ãªãããã»ã¹ã¯ããããªã·ã°ãã«ã«å¿çã§ãããã©ãSIGKILL (9) ãšSIGSTOPã·ã°ãã«ã ãã¯ãã©ããªããã»ã¹ããããã¯ã§ããªããã ãã
- killã³ãã³ãã䜿ã£ãŠPIDã«åºã¥ããŠããã»ã¹ã«ã·ã°ãã«ãéã
| |
äŸãã°ãããã»ã¹IDã2333ã®ããã»ã¹ã匷å¶çµäºãããªãïŒkill -9 2333ãšãkill -SIGKILL 2333ã£ãŠæãã
- killallã³ãã³ãã䜿ã£ãŠååã«åºã¥ããŠããã»ã¹ã«ã·ã°ãã«ãéã
killã³ãã³ããšäŒŒãŠããã©ãåãååã®ã³ãã³ãããããã匷å¶çµäºããããšãã«ããã䟿å©ãªãã ãã§ãããã£ãã倧äºãªåãååã®ããã»ã¹ãå€ãã¡ãããªãããã«æ³šæããŠãã
äŸãã°ãgnome-shellãåèµ·åãããªãïŒkillall -1 gnome-shellã£ãŠãããã
6.4.2 niceãšreniceã³ãã³ãã§ããã»ããµã®åªå 床ãèšå®ããã
Linuxã«ãŒãã«ãã©ã®å®è¡äžããã»ã¹ãCPUã«ã¢ã¯ã»ã¹ã§ããããæ±ºãããšãã«èæ ®ããèŠçŽ ã®äžã€ããããã»ã¹ã«ã€ããŠãniceå€ãªãã ãç¯å²ã¯-20ãã19ãŸã§ã§ãããã©ã«ãã¯0ã ãã
niceå€ãäœãã»ã©åªå 床ãé«ããªããã ãrootãŠãŒã¶ãŒã ããè² ã®å€ãèšå®ããŠåªå 床ãäžããããïŒå€ãäœãããïŒãã©ãäžè¬ãŠãŒã¶ãŒã¯åªå 床ãäžããããšããã§ããªãïŒå€ãé«ãããïŒãã ãã
niceã³ãã³ãã䜿ã£ãŠç¹å®ã®niceå€ã§ã³ãã³ããå®è¡ã§ããããreniceã³ãã³ããšPIDã䜿ã£ãŠãã§ã«å®è¡äžã®ããã»ã¹ã®niceå€ã倿Žããããšãã§ãããã ãäŸãã°ãããªæãã
nice -n +5 updatedb &ã£ãŠãããšãupdatedbã³ãã³ããããã¯ã°ã©ãŠã³ãã§åªå
床5ã§å®è¡ãããã
renice -n 3 2333ã£ãŠãããšãPIDã2333ã®ããã»ã¹ã®niceå€ã3ã«å€æŽãããã ã
6.5 cgroupsã䜿ã£ãŠããã»ã¹ãå¶éããã
ããããã»ã¹ã«èšå®ããniceå€ã¯åããã»ã¹ã«ã¯é©çšãããªããã ãã€ãŸããniceã§ã¯ç¹å®ã®ãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ã䜿ããLinuxã·ã¹ãã ã®ç·ãªãœãŒã¹éãå¶éããããšã¯ã§ããªãã£ãŠããšã
cgroupsã³ãã³ãã䜿ããšãããã»ã¹ãã¿ã¹ã¯ãšããŠç¹å®ããŠãç¹å®ã®ã³ã³ãããŒã«ã°ã«ãŒãã«æå±ãããããšãã§ãããã ãã¿ã¹ã¯ã¯éå±€æ§é ã§èšå®ã§ããŠããã®äžã«ã¯ããŒã¢ã³ïŒãã¹ãŠã®ããã¯ã°ã©ãŠã³ããµãŒããŒããã»ã¹ã«ããã©ã«ãã®å¶éãèšå®ãããŠãïŒãšåŒã°ããã¿ã¹ã¯ããhttpdãvsftpdãªããã«å¯Ÿããç¹å®ã®å¶éãèšå®ãããµãã¿ã¹ã¯ãå«ãŸãããã
ããã¿ã¹ã¯ãããã»ã¹ãèµ·åãããšããã®åããã»ã¹ã¯èŠªããã»ã¹ã®å¶éèšå®ãç¶æ¿ãããã ãå¶éå 容ã¯ãã¹ãã¬ãŒãžãããã»ããµã¹ã±ãžã¥ãŒãªã³ã°ãããã»ã¹ã¬ããŒããCPUå²ãåœãŠãããã€ã¹ã¢ã¯ã»ã¹ãã¡ã¢ãªäœ¿çšç¶æ³ãªãããå«ãŸãããã
cgroupsã®èšå®ã¯ããªãåä»ãããããªããªãèšå®ãã¡ã€ã«ãç·šéããŠcgroupsãäœæãããïŒ/etc/cgconfig.confïŒãç¹å®ã®ãŠãŒã¶ãŒãã°ã«ãŒããå¶éãããïŒ/etc/cgrules.confïŒãããã ãcgscreateã³ãã³ãã䜿ã£ãŠcgroupsãäœæãããããã®ã°ã«ãŒãã/sys/fs/cgroupéå±€ã«è¿œå ããããšãã§ããããããèšå®ãééãããšãã·ã¹ãã ãèµ·åã§ããªããªãå¯èœæ§ãããããæ³šæããŠãã