
ããã»ã¹ãšã¯ïŒLinuxã§åããŠããããã°ã©ã ãšã¡ã¢ãªã®ä»çµã¿ã解説ïœLinuxå ¥éâ§
ãã®ã·ãªãŒãºã¯ãLinuxãäžåºŠãè§Šã£ãããšããªãæ¹ã®ããã®å ¥éè¬åº§ã§ããLinuxã®ä»çµã¿ããåºç€ããé ã«èª¬æããŸãã第3åããã¯ãå®éã«ã³ãã³ããæã£ãŠç¢ºãããŠããŸããç¹å®ã®è£œåããµãŒãã¹ã玹ä»ãããã®ã§ã¯ãããŸããã
ãã®åã§ãã§ããããã«ãªãããš
ãããã°ã©ã ããšãããã»ã¹ãã®éãã説æã§ãã
åããŠããããã»ã¹ã確ããããã®çªå·ïŒPIDïŒãèªãããšãã§ãã
ã¡ã¢ãªãšã¹ãã¬ãŒãžã®éãã説æããã¡ã¢ãªã®äœ¿ããæ¹ã確ãããããšãã§ãã
ããã»ã¹ããè£ã§åãããããæ¢ãããããããšãã§ãã
ããã»ã¹ããäºãã«å®ãããŠããä»çµã¿ã説æã§ãã
ååã¯ãaptã䜿ã£ãŠããœãããŠã§ã¢ãå ¥ããããæ°ãããããããæ¹æ³ãèŠãŠããŸãããå ¥ãããœãããŠã§ã¢ã¯ããã¡ã€ã«ãšããŠãã£ã¹ã¯ã«çœ®ãããŸããããã©ãã眮ãããŠããã ãã§ã¯ãäœãèµ·ããŸããã
ä»åã¯ããã®ãœãããŠã§ã¢ããåããŠããããšããã³ã³ãã¥ãŒã¿ãŒã®äžã§äœãèµ·ããŠããã®ããèŠãŠãããŸãã䞻圹ã¯ããããã»ã¹ããšãã¡ã¢ãªãã§ãã
ãã®åã§æ°ããç»å Žããã³ãã³ãã¯ãèšäºã®æåŸã®ã»ãã«ããã³ã©ã ã«ãååã®ç±æ¥ãšäœ¿ãæ¹ããŸãšããŠããŸããæå³ãæãç«ã¡ãçè§£ãããšãèŠãããããªããŸãã
ç·Žç¿ãå§ããåã«ã第3åã®æé ã§Ubuntuã®äžã«å ¥ãããcd ~ããšãpwdãã§ãããŒã ãã£ã¬ã¯ããªã«ããããšã確ãããŠãããŸãããã
ãã®åã§äœ¿ããåºæ¬ã®èšè
ããã»ã¹ïŒåããŠããæäžã®ããã°ã©ã ã§ãããã®åã®äž»åœ¹ã§ãã
PIDïŒããŒã¢ã€ãã£ãŒïŒïŒããã»ã¹ã«ä»ããããçªå·ã§ããProcess IDïŒããã»ã¹ã®èå¥çªå·ïŒã®ç¥ã§ãã
CPUïŒã·ãŒããŒãŠãŒïŒïŒèšç®ãåŠçãå®éã«è¡ããã³ã³ãã¥ãŒã¿ãŒã®é è³ã«ãããéšåã§ããCentral Processing UnitïŒäžå€®åŠçè£ çœ®ïŒã®ç¥ã§ããäžã€ã®CPUã®äžã«ãä»äºãåãæã€ãã³ã¢ãããããã€ãå ¥ã£ãŠããããšããµã€ãã§ãã
ã¡ã¢ãªïŒããã°ã©ã ãåããŠããéã䜿ãããŒã¿ãäžæçã«çœ®ããŠããå Žæã§ããéãèªã¿æžãã§ããŸããã黿ºãåããšäžèº«ã¯æ¶ããŸãã
ã¹ãã¬ãŒãžïŒãã¡ã€ã«ãé·ãä¿åããŠããå Žæã§ããSSDãããŒããã£ã¹ã¯ãããã«ããããŸãã黿ºãåã£ãŠãäžèº«ã¯æ®ããŸãã
ã·ã°ãã«ïŒããã»ã¹ã«éããçãåå³ã§ãããçµãã£ãŠãã ããããããæ¢ãŸããªããããªã©ã®çš®é¡ããããŸãã
ã¹ã¯ããïŒã¡ã¢ãªãè¶³ããªããªã£ããšããã¡ã¢ãªã®äžèº«ã®äžéšããäžæçã«ã¹ãã¬ãŒãžãžç§»ããŠããä»çµã¿ã§ãã
ããã°ã©ã ãšããã»ã¹ã¯ãäœãéãã®ã
第4åã§ã¯ãã¬ã¹ãã©ã³ã«ããšããŠãã³ãã³ããå®è¡ããããŸã§ã®æµããèŠãŸãããä»åã¯ãæçã®ãã¬ã·ãããšãå®éã®èª¿çãã«æ³šç®ããŠã¿ãŸãããã
ãã£ã¹ã¯ã«çœ®ãããŠããã ãã®ããã°ã©ã ã¯ããŸã ã¬ã·ãã§ããæçã®äœãæ¹ãæžãããŠããŸãããããã ãã§ã¯æçã¯ã§ããŸããã
誰ãããã®ã¬ã·ããèŠãªãããå®éã«æçãå§ãããšãåšæ¿ã«äžã€ã®ä»äºãçãŸããŸãããã®ãã¬ã·ãã«æ²¿ã£ãŠãå®éã«é²ãã§ããä»äºãããããã»ã¹ã§ãã
ããã°ã©ã ïŒã¬ã·ãïŒãã£ã¹ã¯ã«çœ®ããããã¡ã€ã«ïŒ
ããã»ã¹ïŒãã®ã¬ã·ãã§ãä»ãŸãã«é²ãã§ãã調çïŒåããŠããæäžã®ããã°ã©ã ïŒ
PIDïŒäžã€ã²ãšã€ã®èª¿çã«ä»ãããããäŒç¥šã®çªå·
åãã¬ã·ããããåæã«ããã€ãã®èª¿çãé²ãããšããããŸããã«ã¬ãŒã®æ³šæãäžã€å ¥ãã°ãåãã¬ã·ãã§äžã€ã®èª¿çã䞊ãã§é²ã¿ãŸããLinuxã§ãåãããã«ãäžã€ã®ããã°ã©ã ãããããã€ãã®ããã»ã¹ãçãŸããããšããããŸããããããã®ããã»ã¹ã«ã¯ãå¥ã ã®PIDãä»ããŸãã

åããŠããããã»ã¹ãèŠãŠã¿ãã
èªåã®ããã»ã¹ãèŠã
ãŸããæ¬¡ã®ã³ãã³ããæã£ãŠã¿ãŸãã
psããšãã°ã次ã®ããã«è¡šç€ºãããŸãïŒçªå·ã¯ãç°å¢ã«ãã£ãŠéããŸãïŒã
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
1250 pts/0 00:00:00 pså·ŠãããPIDãã©ã®ã¿ãŒããã«ã§åããŠãããïŒTTYïŒããããŸã§ã«äœ¿ã£ãCPUã®æéïŒTIMEïŒããããŠäœã®ããã°ã©ã ãïŒCMDïŒã䞊ãã§ããŸããTIMEã¯ãCPUã䜿ã£ãæéã®åèšã§ããä»ã©ãã ãå¿ããããã衚ããã®ã§ã¯ãããŸããã
äºã€ã®ããã»ã¹ãèŠããŸããäžã€ã¯ã第4åã§èŠãã·ã§ã«ã®ãbashãã§ããããäžã€ã¯ã仿ã£ããpsããã®ãã®ã§ããpsã¯ã衚瀺ãçµãããšããã«çµãããŸããããäžåºŠpsãæã€ãšãbashã®PIDã¯åããŸãŸã§ãããpsã®PIDã¯å¥ã®çªå·ã«ãªã£ãŠããã¯ãã§ããæã€ãã³ã«ãæ°ãã調çãå§ãŸããæ°ããäŒç¥šã®çªå·ãä»ãããã§ãã
ä»äœ¿ã£ãŠããã·ã§ã«ã®PIDã¯ã次ã®ã³ãã³ãã§ã確ãããããŸãã
echo $$第4åã§ãã$SHELLããšæã€ãšããã°ã€ã³ã·ã§ã«ã®å ŽæãããããŸãããã$$ãããã·ã§ã«ãèŠããŠããç¹å¥ãªå€ã®äžã€ã§ããã®ã·ã§ã«èªèº«ã®PIDã衚ããŸããpsã§èŠãbashã®PIDãšãåãçªå·ã衚瀺ãããŸãã
芪ãšåã®ããã»ã¹
ããå°ã詳ããèŠãããã«ãã-fããšãããªãã·ã§ã³ãä»ããŸãã
ps -fUID PID PPID C STIME TTY TIME CMD
ubuntu 1234 1233 0 10:15 pts/0 00:00:00 -bash
ubuntu 1251 1234 0 10:20 pts/0 00:00:00 ps -fãUIDãã¯ããã®ããã»ã¹ãåãããŠãããŠãŒã¶ãŒã§ãã第6åã§èŠãããã«ãããã»ã¹ãã誰ãã®æš©éã§åããŠããŸãã
泚ç®ããŠã»ããã®ã¯ããPPIDãã®åã§ããããã¯ãParent PIDïŒèŠªã®PIDïŒã®ç¥ã§ããã®ããã»ã¹ãçã¿åºããããã»ã¹ã®çªå·ã§ãã
psã®PPIDãèŠããšãbashã®PIDãšåãçªå·ã«ãªã£ãŠããŸããã€ãŸããpsã¯ãbashãçã¿åºããããã»ã¹ã§ããã·ã§ã«ã«ã³ãã³ããæã€ãšãã·ã§ã«ãæ°ããããã»ã¹ãçã¿åºãããã®äžã§ããã°ã©ã ãåããã第4åã§èŠãããŠã§ã€ã¿ãŒããæ³šæãã·ã§ãã«äŒãããæµãã¯ãå®éã«ã¯ããã®ãããªèŠªãšåã®é¢ä¿ã«ãªã£ãŠããŸãã
芪ããã©ã£ãŠãããšãããã»ã¹ã¯ãäžã€ã®æšã®åœ¢ã«ã€ãªãã£ãŠãããŸãã第5åã§èŠããã£ã¬ã¯ããªã®æšãšããã䌌ãŠããŸãã
ãã¹ãŠã®ããã»ã¹ãèŠã
èªåã®ã¿ãŒããã«ä»¥å€ã§ããããããã®ããã»ã¹ãåããŠããŸãããã¹ãŠãèŠãã«ã¯ã次ã®ããã«æã¡ãŸãã
ps auxç»é¢ãã£ã±ãã«ãããããã®è¡ãæµããŸãããaããuããxãã¯äžã€ã®ãªãã·ã§ã³ã§ããŸãšããŠããã¹ãŠã®ãŠãŒã¶ãŒã®ããã¹ãŠã®ããã»ã¹ãããŠãŒã¶ãŒåãšäžç·ã«è¡šç€ºããããšããæå³ã«ãªããŸãïŒãã®ãªãã·ã§ã³ã ãã¯ãæããã®æžãæ¹ã§ãã-ããä»ããŸããïŒã
衚瀺ãé·ããŠèŠã«ãããšãã¯ã第9åã§ãå¿ èŠãªè¡ã ããåãåºãæ¹æ³ã玹ä»ããŸãã
ãã¡ã°ãäžã®ã»ãã«ãPIDãã1ãã®ããã»ã¹ãããã¯ãã§ããPIDã1ã®ããã»ã¹ã ããã衚瀺ããŠã¿ãŸãã
ps -p 1 PID TTY TIME CMD
1 ? 00:00:02 systemdå€ãã®Ubuntuç°å¢ã§ã¯ããsystemdïŒã·ã¹ãã ãã£ãŒïŒããšè¡šç€ºãããŸããããã¯ãèµ·åæã«ã«ãŒãã«ãåãããæåã®ãŠãŒã¶ãŒåŽã®ããã»ã¹ã§ããå€ãã®ãµãŒãã¹ããå©çšè ã䜿ãããã»ã¹ã®èŠªããã©ããšãããã«ã€ãªãããŸããæšã®æ ¹å ã«ãããããã»ã¹ã§ããWSLã§ã¯ãèšå®ã«ãã£ãŠå¥ã®ååã衚瀺ãããããšããããŸããsystemdã¯ã第11åã§ãããäžåºŠåãäžããŸãã
ããã»ã¹ãããã¡ã€ã«ããšããŠèŠãã
第5åã§ãLinuxã§ã¯ããã¹ãŠã¯ãã¡ã€ã«ããšããèãæ¹ãããããšã玹ä»ããŸãããããã»ã¹ããäŸå€ã§ã¯ãããŸããã
ls /procæ°åã®ååã®ãã£ã¬ã¯ããªãããããã䞊ãã§ããŸãããã®æ°åã¯ãPIDã§ããåããŠããããã»ã¹äžã€ã²ãšã€ã®æ å ±ããã«ãŒãã«ãããã¡ã€ã«ã®åœ¢ã§èŠããŠãããŠããã®ã§ãã/proc ã¯ããã£ã¹ã¯ã«ä¿åãããŠããå Žæã§ã¯ãããŸãããèŠããã³ã«ãã«ãŒãã«ãããã®æç¹ã®æ å ±ãã€ãã£ãŠèŠããŠããŸãã
ä»ã®æ§åããåãç¶ããç»é¢ã§èŠã
psã¯ãæã£ãç¬éã®æ§åãåãããåçãã§ããä»ã®æ§åããåãç¶ããç»é¢ã§èŠãããšãã¯ã次ã®ã³ãã³ãã䜿ããŸãã
top
ç»é¢ãåãæ¿ãããæ°ç§ããšã«è¡šç€ºãæ°ãããªããŸãã
ãã¡ã°ãäžã®è¡ïŒèµ·åããŠããã®æéããã©ãã ãå¿ããããè¡šãæ°å
TasksïŒããã»ã¹ã®æ°
%Cpu(s)ïŒCPUããã©ãã ã䜿ãããŠããã
MiB Mem / MiB SwapïŒã¡ã¢ãªãšã¹ã¯ããã®äœ¿ããæ¹
äžã®äžèЧïŒããã»ã¹ããšã®ãCPUãã¡ã¢ãªã®äœ¿çšé
äžèЧã¯ããµã€ããCPUãå€ã䜿ã£ãŠããããã»ã¹ã»ã©äžã«äžŠã³ãŸãã倧æåã®ãMãïŒShiftããŒãæŒããªããMïŒãæŒããšãã¡ã¢ãªãå€ã䜿ã£ãŠããé ã«ã倧æåã®ãPããæŒããšãCPUã®é ã«æ»ããŸãã
çµãããšãã¯ããqããæŒããŸããlessãšåãã§ãã
topããèŠããããhtopïŒãšã€ããããïŒããšãããœãããŠã§ã¢ããããŸããååã®aptã䜿ã£ãŠããsudo apt install htopãã§å ¥ããããšãã§ããŸãïŒç°å¢ã«ãã£ãŠã¯ãæåããå ¥ã£ãŠããŸãïŒã
CPUã¯ãã©ããã£ãŠå€ãã®ããã»ã¹ãåãããŠããã®ã
topã§èŠããšãããã»ã¹ã¯äœåãäœçŸãšåããŠããŸããäžæ¹ãä»ã®ç°å¢ã§äœ¿ããCPUã®åŠçåäœã®æ°ã¯ã次ã®ã³ãã³ãã§ç¢ºãããããŸããç©ççãªã³ã¢ã®æ°ãšãåããšã¯éããŸãããä»®æ³ãã·ã³ãªã©ã§ã¯ãç°å¢ã«å²ãåœãŠãããæ°ã衚瀺ãããŸãã
nprocç·Žç¿ç°å¢ã§ã¯ãã2ããã4ããªã©ãããã»ã¹ã®æ°ãããã£ãšå°ããæ°ã衚瀺ãããã¯ãã§ãã
åŠçåäœã®æ°ããå€ãã®ããã»ã¹ããã©ãããŠåæã«åããã®ã§ããããã
åšæ¿ã®ã³ã³ãã2å£ãããªãã®ã«ãæçã®æ³šæã100ä»¶å ¥ã£ãŠããå Žé¢ãèããŠã¿ãŠãã ãããæçé·ã¯ãåæçããã»ãã®å°ããã€ã³ã³ãã«ãããŠã¯äžãããæ¬¡ã®æçãšå ¥ãæ¿ããŠãããŸããå ¥ãæ¿ãããšãŠãéããããå€ããèŠããšããã¹ãŠã®æçãåæã«é²ãã§ããããã«èŠããŸãã
Linuxã§ã¯ã第4åã§åšæ¿ã«ããšããã«ãŒãã«ãããã®æçé·ã®åœ¹ãåããŠããŸãã1ç§ã®éã«äœåºŠããã©ã®ããã»ã¹ã«CPUã䜿ãããããæ±ºããŠãå ¥ãæ¿ããŠããã®ã§ãã
ãŸããããã»ã¹ã®ãã¹ãŠãããã€ãCPUã䜿ã£ãŠããããã§ã¯ãããŸãããå ¥åãéä¿¡ãæéã®çµéãªã©ãåŸ ã£ãŠãããã®ããããŸããå ã»ã©ã®sleepããæéãéããã®ãåŸ ã£ãŠããéã¯ãCPUãã»ãšãã©äœ¿ããŸããã
ã¡ã¢ãªãšã¹ãã¬ãŒãžã¯ãäœãéãã®ã
ããã§ãããã»ã¹ã䜿ããå Žæãã®è©±ã«ç§»ããŸãã
åšæ¿ã«ã¯ãäºã€ã®çœ®ãå ŽæããããŸãã
調çå°ïŒã¡ã¢ãªïŒïŒä»ãŸãã«äœ¿ã£ãŠãã飿ãéå ·ã眮ãå Žæãæã䌞ã°ãã°ããå±ãããåºãã«ã¯éãããããåºãéãããšãã¯ãçã¥ããŠç©ºã«ããã
å庫ïŒã¹ãã¬ãŒãžïŒïŒé£æãéå ·ãé·ãããŸã£ãŠããå Žæãåºãããåãã«è¡ãã«ã¯æéãããããåºãéããŠããäžèº«ã¯æ®ãã
ããã°ã©ã ãåãããšããã«ãŒãã«ã¯ãå庫ïŒã¹ãã¬ãŒãžïŒããããã°ã©ã ãåãåºãã調çå°ïŒã¡ã¢ãªïŒã«åºããŸããããã»ã¹ã¯ããã®èª¿çå°ã®äžã§ä»äºãããŸããã¡ã¢ãªã¯ãã¹ãã¬ãŒãžããäœååãäœçŸåãéãèªã¿æžãã§ããããã§ãã
ãã®ããããã¡ã¢ãªã®äžèº«ã¯ã黿ºãåããšæ¶ããŸããnanoã§æžããŠããéäžã®æç« ã¯ãã¡ã¢ãªã®äžã«ãããŸããä¿åããŠãåããŠã¹ãã¬ãŒãžã«æžã蟌ãŸããŸãã第6åã§ãnanoã§ãCtrl + OããæŒããŠä¿åããã®ã¯ããã®ããã§ãã

ã¡ã¢ãªã®äœ¿ããæ¹ã確ããã
free -hããšãã°ã次ã®ããã«è¡šç€ºãããŸãïŒå€§ããã¯ãç°å¢ã«ãã£ãŠéããŸãïŒã
total used free shared buff/cache available
Mem: 3.8Gi 612Mi 2.4Gi 1.0Mi 1.0Gi 3.2Gi
Swap: 1.0Gi 0B 1.0Giã-hãã¯ã人ãèªã¿ãããåäœïŒGiãMiãªã©ïŒã§è¡šç€ºãããªãã·ã§ã³ã§ããGiã¯ãã®ã¬ãã€ããšã»ãŒåã倧ããã®åäœã§ãã
totalïŒäœ¿ããã¡ã¢ãªã®å šäœ
usedïŒäœ¿ãããŠããã¡ã¢ãª
freeïŒãŸã£ãã䜿ãããŠããªãã¡ã¢ãª
buff/cacheïŒãã¡ã€ã«ã®äžèº«ãªã©ããäžæçã«èŠããŠããããã«äœ¿ã£ãŠããã¡ã¢ãª
availableïŒã¹ã¯ããã䜿ããã«ãæ°ããããã°ã©ã ã®ããã«äœ¿ããèŠèŸŒã¿ã®ã¡ã¢ãª
ããã§ããfreeããæã£ãããå°ãªãããšæãããããããŸãããã§ããå¿é ã¯ãããŸããã
Linuxã¯ã空ããŠãã調çå°ããéã°ããŠãããŸãããäžåºŠå庫ããæã£ãŠãã飿ã¯ã調çå°ã®é ã«çœ®ãããŸãŸã«ããŠãããæ¬¡ã«å¿ èŠã«ãªã£ããšãããã䜿ããããã«ããŸããããããbuff/cacheãã§ããæ°ããæçã®ããã«å Žæãå¿ èŠã«ãªãã°ãé ã«çœ®ãã飿ã¯ãå¿ èŠã«å¿ããŠãäžéšãçã¥ããŠå Žæããããããšãã§ããŸãã
ãã®ãããã¡ã¢ãªã«äœè£ããããã©ããã¯ããfreeãã§ã¯ãªãããavailableããèŠãŠå€æããŸãã
ã¹ãã¬ãŒãžã®ç©ºãã確ããã
æ¯ã¹ãããã«ãã¹ãã¬ãŒãžã®ç©ºããèŠãŠã¿ãŸãããã
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/sdc 1007G 1.8G 954G 1% /ã~ãã¯ãããŒã ãã£ã¬ã¯ããªã®ããšã§ãããããŒã ãã£ã¬ã¯ããªãããã¹ãã¬ãŒãžã®ã倧ããïŒSizeïŒã䜿ã£ãŠããéïŒUsedïŒã空ãïŒAvailïŒã衚瀺ãããŸãã衚瀺ã®å 容ã¯ãWSLãMultipassãã«ãã£ãŠå€§ããéããŸããå€ãã®å Žåãã¡ã¢ãªãããã£ãšå€§ããããšãããããšæããŸãã
ã¡ã¢ãªãè¶³ããªããªã£ãã
調çå°ããã£ã±ãã«ãªããšãã©ããªãã®ã§ããããã
ã¡ã¢ãªãè¶³ããªããªããšãã«ãŒãã«ã¯ãäžèŠã«ãªã£ããã£ãã·ã¥ãçã¥ããããã¹ã¯ããã䜿ããå Žåã«ã¯ããã°ãã䜿ãããŠããªãããŒã¿ã®äžéšãå庫ã®äžè§ïŒã¹ã¯ããïŒã«ç§»ãããããŠãå ŽæããããããšããŸããã¹ã¯ããããªãç°å¢ããããŸãããŸããå庫ã¯é ãã®ã§ãã¹ã¯ãããšã®åºãå ¥ããå¢ãããšãåããé ããªãããšããããŸãã
ããã§ãå¿ èŠãªã¡ã¢ãªã確ä¿ã§ããªããšãã«ãŒãã«ããã¡ã¢ãªã®äœ¿çšéãèšå®ãªã©ãããšã«ããã»ã¹ãéžã³ã匷å¶çµäºããããšããããŸãããã®ä»çµã¿ã¯ããOOM KillerïŒã¢ãŠãã»ãªãã»ã¡ã¢ãªã»ãã©ãŒïŒããšåŒã°ããŸããOut Of MemoryïŒã¡ã¢ãªåãïŒã®ãšãã«åãããšããããã®ååãä»ããŠããŸããããã°ã©ã ãçªç¶çµãã£ãŠããŸã£ããšãã¯ãã¡ã¢ãªäžè¶³ãåå ã®ããšããããŸãã
ããã»ã¹ããè£ã§åããã»æ¢ãã
æéã®ãããä»äºããè£ã§åãã
第4åã§ããsleep 100ããæã¡ãCtrl+Cã§æ¢ããç·Žç¿ãããŸãããsleepãåããŠããéãã·ã§ã«ã¯æ¬¡ã®ã³ãã³ããåãä»ããŸããã§ããã
ã³ãã³ãã®æåŸã«ã&ããä»ãããšããã®ããã»ã¹ãè£ã§åããããŸãŸãããã«æ¬¡ã®ã³ãã³ããæãŠãããã«ãªããŸãã
sleep 300 &[1] 2345ã[1]ãã¯ããã®ã·ã§ã«ã®äžã§ã®ä»äºã®çªå·ïŒãžã§ãçªå·ïŒãã2345ãã¯ãPIDã§ãã
è£ã§åããŠããä»äºã¯ã次ã®ã³ãã³ãã§ç¢ºãããããŸãã
jobs[1]+ Running sleep 300 &ãRunningïŒåããŠããïŒããšè¡šç€ºãããŠããŸããpsãæã£ãŠããsleepããPID 2345ã§åããŠããããšãããããŸãã
è£ã§åããŠããä»äºããæåã«æ»ãããšãã§ããŸãã
fgsleepãæåã«æ»ããã·ã§ã«ã¯æ¬¡ã®ã³ãã³ããåãä»ããªããªããŸããCtrl+Cã§æ¢ããŸãããã
ããã»ã¹ãæ¢ãã
ããäžåºŠãè£ã§sleepãåãããŠãããä»åºŠã¯ãPIDãæå®ããŠæ¢ããŠã¿ãŸãã
sleep 300 &[1] 2350衚瀺ãããPIDã䜿ã£ãŠã次ã®ããã«æã¡ãŸãïŒã2350ãã®éšåã¯ãèªåã®ç»é¢ã«è¡šç€ºãããçªå·ã«çœ®ãæããŠãã ããïŒã
kill 2350ããäžåºŠãjobsããšæã€ãšããTerminatedïŒçµãã£ãïŒããšè¡šç€ºãããããšããããŸãããã§ã«ç¥ãããæžãã§ããã°ãäžèЧããæ¶ããŠããå ŽåããããŸãã
killã¯ããæ¢ãããã§ã¯ãªããåå³ãéãã
killãšããååã¯ã殺ãããšããæå³ã§ãããæ¬åœã«ããŠããããšã¯ãããã»ã¹ã«**ã·ã°ãã«ïŒåå³ïŒ**ãéãããšã§ãã
äœãæå®ããªããšããkillã¯ãçµãã£ãŠãã ããããšããåå³ïŒTERMïŒãéããŸããTERMãåãåã£ããšãã«çã¥ããããããèšèšãããããã°ã©ã ã¯ãå¿ èŠãªåŠçãããŠããçµããããšãã§ããŸãããã ããããŒã¿ãå¿ ãä¿åãããããã§ã¯ãããŸãããåšæ¿ã§ããã°ãããã®æçã¯ãã£ã³ã»ã«ã«ãªããŸãããç«ãæ¢ããŠãçã¥ããŠãã ããããšäŒãããããªãã®ã§ãã
第4åã§äœ¿ã£ãCtrl+Cããå®ã¯ãæåã§åããŠããããã»ã¹ã«ãäžæããŠãã ããããšããåå³ïŒINTïŒãéãæäœã§ãã
TERMãéã£ãŠãçµãããªãããã»ã¹ã«ã¯ããããã«æ¢ãŸããªããããšããåå³ïŒKILLïŒãéãããšãã§ããŸãã
kill -9 PIDã-9ãã¯ãKILLã®åå³ã®çªå·ã§ããKILLã¯ãããã°ã©ã åŽã§ç¡èŠããããåãåã£ãŠçã¥ãããããã§ããªãã匷å¶çµäºã®åå³ã§ããçã¥ãã®æ©äŒããªããããæžãããã®ããŒã¿ã倱ãããããšããããŸãããµã€ãã®killã§çµãããªããšãã®ãæåŸã®ææ®µã«ããŠãã ããããªããç¶æ ã«ãã£ãŠã¯ãKILLãéã£ãŠããçµäºãŸã§æéããããå ŽåããããŸãã
ä»äººã®ããã»ã¹ã¯ãæ¢ããããªã
èªå以å€ã®ãŠãŒã¶ãŒã®ããã»ã¹ã«ãåå³ãéããã§ãããããPIDã1ã®ããã»ã¹ã§ç¢ºãããŠã¿ãŸããããã§ã¯ãå®éã®åå³ã¯éããã«ããéãæš©éãããããã ãã確ãããã-0ããšããæå®ã䜿ããŸãã
kill -0 1-bash: kill: (1) - Operation not permittedããã®æäœã¯èš±ãããŠããŸããããšæãããŸãããã-0ãã¯ãå®éã®åå³ãéããããã®ããã»ã¹ããããã©ãããšãåå³ãéãæš©éããããã©ããã確ãããæå®ã§ãã第6åã§èŠããšãããæš©éã¯ãŠãŒã¶ãŒããšã«åããããŠããŸããéåžžãäžè¬ãŠãŒã¶ãŒãåå³ãéããã®ã¯ãåããŠãŒã¶ãŒãšããŠåããŠããããã»ã¹ã§ããã»ãã®ãŠãŒã¶ãŒã®ããã»ã¹ããã·ã¹ãã ã®ããã»ã¹ãæ¢ããããã®ã¯ã管çè ã ãã§ãã
ãªãããsudo kill 1ãã®ããã«ã管çè ã®æš©éã§ãã·ã¹ãã ã®å€§åãªããã»ã¹ã«åå³ãéãããšã¯ã絶察ã«ããªãã§ãã ãããç·Žç¿ç°å¢ãåããªããªããããããããŸãã
ããã»ã¹ã¯ãäºãã«å®ãããŠãã
æåŸã«ãããã»ã¹ãšã¡ã¢ãªã®é¢ä¿ã§ã倧åãªä»çµã¿ãäžã€ç޹ä»ããŸãã
ããããã®ããã»ã¹ã«ã¯ãèªåçšã®ã¡ã¢ãªã®ç©ºéããããŸããã«ãŒãã«ãšCPUã®ã¡ã¢ãªä¿è·ã®ä»çµã¿ã«ãã£ãŠãã»ãã®ããã»ã¹ã®ã¡ã¢ãªããéåžžã®èªã¿æžãã§åæã«æ±ããªãããã«ãªã£ãŠããŸãã
åšæ¿ã§ããã°ãã·ã§ãäžäººã²ãšãã«ãä»åãããèªåã®èª¿çå°ããããããªãã®ã§ããé£ã®ã·ã§ãã®èª¿çå°ã«ãåæã«æã䌞ã°ãããšã¯ã§ããŸãããæçé·ïŒã«ãŒãã«ïŒãšã調çå°ã®ä»åãïŒCPUã®ä»çµã¿ïŒãããããå®ã£ãŠããŸãã
ãã®ä»çµã¿ã®ãããã§ãäžã€ã®ããã°ã©ã ã«äžå ·åããã£ãŠæ¢ãŸã£ãŠããã»ãã®ããã°ã©ã ãŸã§å·»ã蟌ãŸãã«ãããªã£ãŠããŸãããŸããããããã°ã©ã ãæ±ã£ãŠãããã¹ã¯ãŒããªã©ã®ããŒã¿ããã»ãã®ããã°ã©ã ãçã¿èŠãããšããé£ãããªã£ãŠããŸãã
ãã ããèš±å¯ããã調æ»ïŒãããã°ïŒã®ããã®ä»çµã¿ããããã»ã¹ã©ãããæç€ºçã«å ±æããé åãªã©ã¯å¥ã§ãããããŠãã«ãŒãã«ã匷ãç®¡çæš©éã奪ããããšããã®ä¿è·ã ãã§ã¯å®ããªãå ŽåããããŸãããã®ãšããã¡ã¢ãªã®äžèº«ãã©ãå®ãã®ãããã®åãã¯ããã®ã·ãªãŒãºã®æçµåã§ãããäžåºŠåãäžããŸãã

ã³ã©ã ïŒã³ãã³ãã®ååã®ç±æ¥ãšãäœ¿ãæ¹
ãã®åã«åºãŠããã³ãã³ãããååã®ç±æ¥ãšäœ¿ãæ¹ã«åããŠããŸãšããŠãããŸããechoãšsleepã¯ç¬¬4åãlessã¯ç¬¬5åãaptã¯ç¬¬6åãšç¬¬7åã®ã³ã©ã ã§ç޹ä»ããŸããã
ps
ç±æ¥ïŒprocess statusïŒããã»ã¹ã®ç¶æ ïŒã®ç¥ã§ããUnixã®åæã®é ãããããå€ãã³ãã³ãã§ãã
äœ¿ãæ¹ïŒä»ãã©ããªããã»ã¹ãåããŠããã®ãã確ãããããšãã«äœ¿ããŸãã
psïŒèªåã®ã¿ãŒããã«ã§åããŠããããã»ã¹ã衚瀺ãã
ps -fïŒèŠªã®PIDïŒPPIDïŒãªã©ãå«ããŠã詳ãã衚瀺ãã
ps auxïŒãã¹ãŠã®ãŠãŒã¶ãŒã®ããã¹ãŠã®ããã»ã¹ã衚瀺ãã
ps -p çªå·ïŒæå®ããPIDã®ããã»ã¹ã ãã衚瀺ãã
top
ç±æ¥ïŒè±èªã® topïŒãã¡ã°ãäžãäžäœïŒã§ãã1984幎ã«ããŠã£ãªã¢ã ã»ã«ãã§ãŒãã«ãããæåã®çãå ¬éããŸãããCPUãå€ã䜿ã£ãŠãããäžäœãã®ããã»ã¹ã衚瀺ããããšããããã®ååã«ãªã£ããšèª¬æãããããšãå€ãã§ãã
äœ¿ãæ¹ïŒããã»ã¹ãCPUãã¡ã¢ãªã®æ§åããåãç¶ããç»é¢ã§èŠãããšãã«äœ¿ããŸãããtopããšæã€ã ãã§å§ãŸãããqãã§çµãããŸãã倧æåã®ãMãã§ã¡ã¢ãªã®é ããPãã§CPUã®é ã«äžŠã¹æ¿ããããŸãã
htop
ç±æ¥ïŒtopãããã£ãšèŠãããã䜿ããããããããšããŠã€ãããããœãããŠã§ã¢ã§ãã2004幎ã«ããã©ãžã«ã®ã€ã·ã£ã ã»ã ããããããéçºãå§ããŸãããå ¬åŒã®ãããã質åã«ãããšãå é ã®ãhãã¯ãäœè ã®ååïŒHishamïŒããåãããŠããŸãã
äœ¿ãæ¹ïŒtopãšåãããã«ãããã»ã¹ã®æ§åãèŠãããšãã«äœ¿ããŸããè²åããããŠããŠãç¢å°ããŒã§éžãã ããããŠã¹ã§æäœãããã§ããŸãããsudo apt install htopãã§å ¥ããŠããhtopããšæã£ãŠäœ¿ããŸãããqããŸãã¯F10ããŒã§çµãããŸãã
nproc
ç±æ¥ïŒnumber of processing unitsïŒåŠçãåãæã€åäœã®æ°ïŒã®ç¥ã§ãã
äœ¿ãæ¹ïŒä»ã®ç°å¢ã§äœ¿ããCPUã®åŠçåäœã®æ°ã確ãããããšãã«äœ¿ããŸãããnprocããšæã€ã ãã§ããç©ççãªã³ã¢ã®æ°ãšãåããšã¯éããŸããã
free
ç±æ¥ïŒè±èªã® freeïŒç©ºããŠããïŒã§ãã空ããŠããã¡ã¢ãªã®éã衚瀺ããããšããããã®ååãä»ããŠããŸãã
äœ¿ãæ¹ïŒã¡ã¢ãªããã©ãã ã䜿ãããŠããŠãã©ãã ã空ããŠããã®ãã確ãããããšãã«äœ¿ããŸãããfree -hããšæã€ãšãèªã¿ãããåäœã§è¡šç€ºãããŸããäœè£ããããã©ããã¯ããavailableãã®åã§å€æããŸãã
df
ç±æ¥ïŒdisk freeïŒãã£ã¹ã¯ã®ç©ºãïŒã®ç¥ã§ãã
äœ¿ãæ¹ïŒã¹ãã¬ãŒãžããã©ãã ã䜿ãããŠããŠãã©ãã ã空ããŠããã®ãã確ãããããšãã«äœ¿ããŸãããdf -hããšæã€ãšãèªã¿ãããåäœã§è¡šç€ºãããŸãããdf -h ~ãã®ããã«ãåŸãã«å Žæãæžããšããã®å Žæãããã¹ãã¬ãŒãžã ãã衚瀺ããŸãã
jobs
ç±æ¥ïŒè±èªã® jobsïŒä»äºïŒã§ãã1980幎ãããBSDãšããUnixã®ã·ã§ã«ïŒcshïŒã«å ãã£ãããžã§ãå¶åŸ¡ããšããä»çµã¿ãããä»ã®bashã«ãåãç¶ãããŠããŸãã
äœ¿ãæ¹ïŒã&ããä»ããŠè£ã§åãããŠããä»äºããä»ã©ããªã£ãŠããã®ãã確ãããããšãã«äœ¿ããŸãããjobsããšæã€ã ãã§ãã
fg
ç±æ¥ïŒforegroundïŒåæ¯ãæåïŒã®ç¥ã§ãã
äœ¿ãæ¹ïŒè£ã§åããŠããä»äºããæåã«æ»ããããšãã«äœ¿ããŸãããfgããšæã€ãšãçŸåšã®ãžã§ãïŒéåžžã¯ãjobsã§ã+ããä»ãããã®ïŒãæåã«æ»ããŸãããfg %1ãã®ããã«ããžã§ãçªå·ãæå®ããããšãã§ããŸãã
kill
ç±æ¥ïŒè±èªã® killïŒæ®ºããæ¢ããïŒã§ããååã¯ãæ¢ãããã§ãããå®éã«ã¯ãããã»ã¹ã«ã·ã°ãã«ïŒåå³ïŒãéãã³ãã³ãã§ãã
äœ¿ãæ¹ïŒããã»ã¹ãæ¢ããããšãã«äœ¿ããŸãããkill PIDãã§ãçµãã£ãŠãã ããããšããåå³ïŒTERMïŒãéããŸãããkill -0 PIDãã¯ãåå³ãéããã«ãéãæš©éããããã©ããã ãã確ãããŸããããã§ãçµãããªããšãã ãããkill -9 PIDãã§ãããã«æ¢ãŸããªããããšããåå³ïŒKILLïŒãéããŸãããkill %1ãã®ããã«ããžã§ãçªå·ã§æå®ããããšãã§ããŸãã
ãµãããã£ãŠã¿ãŸããã
次ã®åãã«ãèªåã®èšèã§çããããã§ãããããè¿·ã£ããšãã¯ãæ¬æãèªã¿è¿ããŠã¿ãŠãã ããã
ããã°ã©ã ãšããã»ã¹ã¯ãäœãéãã®ã§ãããããã¬ã·ãã®ããšãã§èª¬æããŠã¿ãŸãããã
ãpsããæã€ãã³ã«ãpsã®PIDãå€ããã®ã¯ãªãã§ããããã
CPUã®åŠçåäœã®æ°ããå€ãã®ããã»ã¹ããåæã«åããŠããããã«èŠããã®ã¯ãªãã§ããããã
ãfree -hãã§ãã¡ã¢ãªã«äœè£ããããã©ããã倿ãããšãã¯ãã©ã®åãèŠãã°ããã§ããããããŸããããã¯ãªãã§ããããã
ãkillããšãkill -9ãã¯ãäœãéãã®ã§ããããã
ããããã°ã©ã ããã»ãã®ããã°ã©ã ã®ã¡ã¢ãªããéåžžã®èªã¿æžãã§åæã«æ±ããªãã®ã¯ããªãã§ããããã
ãã£ãšåŠã³ããæ¹ãž
Ubuntu ManpageãpsããtopããfreeããkillãïŒè±èªãåçŽãäžçŽïŒ ããããã®ã³ãã³ãã®ããã¹ãŠã®ãªãã·ã§ã³ã説æãããŠããŸããã¿ãŒããã«ã§ãman psãã®ããã«æã£ãŠãèªããŸãã
Red HatãDissecting the free command: What the Linux sysadmin needs to knowãïŒè±èªãäžçŽïŒ freeã³ãã³ãã®è¡šç€ºã®èªã¿æ¹ãšãLinuxã®ã¡ã¢ãªã®äœ¿ããæ¹ãã詳ãã説æãããŠããŸãã
次åã¯ããã³ãã³ããçµã¿åãããããåãäžããŸããä»åã®ãps auxãã®ããã«ã衚瀺ãé·ããããšãã«ãå¿ èŠãªè¡ã ããåãåºãæ¹æ³ãªã©ãå°ããªã³ãã³ããã€ãªãã§ã倧ããªä»äºãããä»çµã¿ãèŠãŠãããŸãã
äž»ãªåèè³æ
Red HatïŒDissecting the free command: What the Linux sysadmin needs to know
The Linux Kernel documentationïŒMemory Management â Concepts overview
æ¬èšäºã¯ãå ¬éè³æãããšã«ãç¬èªã«ãŸãšããå ¥é解説ã§ãã Linux®ã¯ãç±³åœããã³ãã®ä»ã®åœã«ãããLinus Torvaldsã®ç»é²åæšã§ãã