็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿง Linux ๆ•ˆ่ƒฝ็›ฃๆŽงๅทฅๅ…ทๅคงๅ…จ:top、htop、glances、nmon、dstat ๆทฑๅบฆๆฏ”่ผƒ่ˆ‡ๅฏฆๅ‹™ๆŒ‡ๅ—

    ๐Ÿง Linux ๆ•ˆ่ƒฝ็›ฃๆŽงๅทฅๅ…ทๅคงๅ…จ:top、htop、glances、nmon、dstat ๆทฑๅบฆๆฏ”่ผƒ่ˆ‡ๅฏฆๅ‹™ๆŒ‡ๅ—

    ๅœจ็ฎก็† Linux ไผบๆœๅ™จๆ™‚,「ไธๆ˜ฏ็ญ‰็ณป็ตฑๆ…ขไธ‹ไพ†ๆ‰็œ‹็›ฃๆŽง」,่€Œๆ˜ฏ่ฆๆœ‰ไธ€ๅฅ— ้šจๆ‰‹ๅฏ็”จ、ๅฏ้‡่ค‡ๆ“ไฝœ、่ƒฝ็•™ไธ‹็ด€้Œ„ ็š„็›ฃๆŽง่ˆ‡่จบๆ–ทๆต็จ‹。
    ๆœฌๆ–‡ๆ•ด็†ไบ”ๅ€‹ๆœ€ๅธธ่ฆ‹็š„ CLI / TUI ๅทฅๅ…ท:top、htop、glances、nmon、dstat, ๅพžๅฎ‰่ฃ、ๆ“ไฝœไป‹้ข、่ผธๅ‡บๆ–นๅผๅˆฐๅฏฆๆˆฐๆƒ…ๅขƒ,ๅนซไฝ ๅปบ็ซ‹ไธ€ๅฅ—ๅฏฆ้š›็”จๅพ—ๅˆฐ็š„ Linux ๆ•ˆ่ƒฝ็›ฃๆŽงๅทฅๅ…ท็ฎฑ。

    ๐Ÿ“‘ ็›ฎ้Œ„

    ไธ€、็‚บไป€้บผ้œ€่ฆๅคš็จฎ็›ฃๆŽงๅทฅๅ…ท?

    ่จฑๅคš็ถญ้‹ไบบๅ“กๅชๅœจ็ณป็ตฑ「ๅ‡บไบ‹็•ถไธ‹」ๆ‰ๅŒ†ๅฟ™้–‹ top ็œ‹ไธ€็œผ,ไฝ†้€™ๆจฃๅšๅพ€ๅพ€ๅช็œ‹ๅˆฐ ไธ€็žฌ้–“็š„ๅฟซ็…ง,ไธๅฎนๆ˜“ๆŽŒๆกๅ•้กŒๆผ”่ฎŠ้Ž็จ‹。ๅฏฆๅ‹™ไธŠ,ๆˆ‘ๅ€‘ๆœƒๅŒๆ™‚้œ€่ฆ:

    • ๅณๆ™‚็‹€ๆณ:็พๅœจ CPU、RAM、I/O、Network ไฝฟ็”จ็އๅฆ‚ไฝ•?ๆœ‰ๆฒ’ๆœ‰ๆ˜Ž้กฏ็•ฐๅธธ?
    • ่กŒ็จ‹้—œ่ฏ:ๆ˜ฏๅ“ชไธ€ๅ€‹ process ๆˆ–ๆŸไธ€็พค service ๆŠŠ่ณ‡ๆบๅƒๅ…‰?
    • ๆญทๅฒ็—•่ทก:ๆ˜จๅคฉๆ™šไธŠ 3 ้ปž้‚ฃไธ€ๆณขๅฐ–ๅณฐ,็•ถๆ™‚็š„ CPU / I/O ๅˆฐๅบ•้•ทไป€้บผๆจฃ?
    • ๅฏ่ฆ–ๅŒ–่ˆ‡ๅ ฑ่กจ:ๆœ‰ๆฒ’ๆœ‰ๅฏไปฅๆ‹ฟ็ตฆไธป็ฎก、ๅฎขๆˆถๆˆ–ๅœ˜้šŠ่จŽ่ซ–็š„ๅœ–่กจๆˆ–็ด€้Œ„?

    ๅ› ๆญค,ไธ€ๅฅ—ๅฅฝ็”จ็š„ Linux ็›ฃๆŽง็ต„ๅˆ,้€šๅธธๆœƒๅŒๆ™‚ๅŒ…ๅซ: 1~2 ๅ€‹ๅณๆ™‚ๆŽ’้Œฏๅทฅๅ…ท + 1 ๅ€‹้•ทๆœŸ็ด€้Œ„ๅทฅๅ…ท + 1 ๅฅ—้›†ไธญๅผ็›ฃๆŽงๅนณๅฐ。 ๆœฌๆ–‡่š็„ฆๅœจๅ‰ๅ…ฉ่€…:่ฎ“ไฝ ๅœจไปปไฝ•ไธ€ๅฐ Linux ๅช่ฆ้€ฃไธŠ็ต‚็ซฏๆฉŸ,ๅฐฑ่ƒฝ็ซ‹ๅˆป้–‹ๅง‹ๅˆ†ๆž。

    ไบŒ、top/htop/glances/nmon/dstat ๅฟซ้€Ÿ็ธฝ่ฆฝ

    ๅ…ˆ็”จไธ€ๅผต็ฐก่กจๅฟซ้€Ÿๅฐ้ฝŠไบ”ๅ€‹ๅทฅๅ…ท็š„ๅคง่‡ดๅฎšไฝ:

    ๅทฅๅ…ท ไธป่ฆ็”จ้€”ๅฎšไฝ ไป‹้ข้กžๅž‹ ๅ„ช้ปž ่ผƒไธ้ฉๅˆ็š„ๆƒ…ๅขƒ
    top ๆœ€ๅŸบ็คŽ็š„ๅณๆ™‚่กŒ็จ‹่ˆ‡ CPU/่จ˜ๆ†ถ้ซ”็›ฃๆŽง ็ด” CLI ๆ–‡ๅญ— ไปปไฝ• Linux ๅนพไนŽ้ƒฝๆœ‰、ๅญธ็ฟ’ๆˆๆœฌไฝŽ ไบ’ๅ‹•ๆ€ง่ผƒๅทฎ、่ณ‡่จŠๅˆ†ๆ•ฃ、็„กๆญทๅฒ็ด€้Œ„
    htop ไบ’ๅ‹•ๅผ่กŒ็จ‹็€่ฆฝ่ˆ‡ๆŽ’ๅบ、ๆ‰‹ๅ‹•ๆŽ’้Œฏ TUI ๅฝฉ่‰ฒไป‹้ข ๅฏไปฅๆป‘ๅ‹•、็ฏฉ้ธ、ๆฎบ่กŒ็จ‹、ๆจน็‹€้กฏ็คบ ไธๅš้•ทๆœŸ็ด€้Œ„,ไธป่ฆ้‚„ๆ˜ฏ「็•ถไธ‹」ๆŸฅ็œ‹
    glances ๆ•ดๆฉŸ่ณ‡ๆบ็ธฝ่ฆฝๅ„€่กจๆฟ,ๅซ Web/Client ๆจกๅผ TUI + Web ไธ€้ ็œ‹ๅฎŒๆ‰€ๆœ‰่ณ‡ๆบ,ๅฏ้ ็ซฏ่ˆ‡ API ๆ•ดๅˆ ๆฏ” top/htop ็จ้‡,้ƒจ็ฝฒไธŠๅคšไธ€ๆญฅๅฎ‰่ฃ
    nmon ๆ•ˆ่ƒฝๅˆ†ๆž่ˆ‡ CSV ๅŒฏๅ‡บ,้ฉๅˆๅพŒ็บŒ็•ซๅœ– TUI + ๆช”ๆกˆ่ผธๅ‡บ ่ผธๅ‡บๆ ผๅผๅ‹ๅ–„,ๅฏๆญ้… Excel/Grafana ไบ’ๅ‹•ๆ€ง็•ฅไฝŽ,ๅˆๅญธ่€…่ผƒไธ็›ด่ฆบ
    dstat ๆ•ดๅˆ vmstat/iostat/ifstat ็š„ๅณๆ™‚็ตฑๅˆ็›ฃๆŽง CLI ๆ–‡ๅญ— ไธ€ๆขๅ‘ฝไปค็œ‹ๅˆฐๅคš็จฎ่ณ‡ๆบ,้ฉๅˆ่…ณๆœฌๆ•ดๅˆ ็•ซ้ขไธๅฆ‚ htop/​glances ็›ด่ฆบ,ๅๅ‘็†Ÿๆ‰‹

    ๆŽฅไธ‹ไพ†ๆˆ‘ๅ€‘ไพๅบไป‹็ดนๆฏๅ€‹ๅทฅๅ…ท็š„:ๅฎ‰่ฃๆ–นๅผ、ๆ ธๅฟƒๆ“ไฝœ、ๅธธ็”จๅƒๆ•ธ、ๅฏฆๆˆฐๆŠ€ๅทง, ๆœ€ๅพŒๅ†็ตฆๅ‡บๅฏฆ้š›ๆƒ…ๅขƒๆต็จ‹่ˆ‡ๆŽจ่–ฆ็ต„ๅˆ。

    ไธ‰、top:ๆฏๅฐ Linux ้ƒฝๅ…งๅปบ็š„ๅŸบ็คŽ็›ฃๆŽงๅทฅๅ…ท

    top ๅนพไนŽๆ˜ฏๆ‰€ๆœ‰็ถญ้‹ไบบๅ“กๆœ€ๆ—ฉๆŽฅ่งธๅˆฐ็š„็›ฃๆŽงๅทฅๅ…ท,ๅฎƒๆœ€ๅคง็š„ๅ„ช้ปžๅฐฑๆ˜ฏ: ๅˆฐไปปไฝ•ไธ€ๅฐไธปๆฉŸ้ƒฝ่ƒฝ็›ดๆŽฅๆ•ฒ,ไธ็”จ้กๅค–ๅฎ‰่ฃ。้ ่จญๆœƒ้กฏ็คบ:

    • Load Average(็ณป็ตฑ่ฒ ่ผ‰)
    • CPU ไฝฟ็”จ็އ(user / system / iowait / idle ็ญ‰)
    • ่จ˜ๆ†ถ้ซ”่ˆ‡ Swap ไฝฟ็”จ้‡
    • ่กŒ็จ‹ๅˆ—่กจ:PID、ไฝฟ็”จ่€…、CPU%、MEM%、ๅŸท่กŒๆ™‚้–“、ๆŒ‡ไปค็ญ‰

    1. ๅŸบๆœฌไฝฟ็”จ่ˆ‡ๅธธ็”จๅƒๆ•ธ

    # ็›ดๆŽฅๅŸท่กŒ
    top
    
    # ไปฅ CPU ไฝฟ็”จ็އๆŽ’ๅบ(้ ่จญ)
    top -o %CPU
    
    # ไปฅ่จ˜ๆ†ถ้ซ”ไฝฟ็”จ็އๆŽ’ๅบ
    top -o %MEM
    
    # ๅช้กฏ็คบๆŸๅ€‹ไฝฟ็”จ่€…็š„่กŒ็จ‹
    top -u someuser
    

    2. top ๆ“ไฝœ็†ฑ้ต(ไบ’ๅ‹•ๆ™‚ๅธธ็”จ)

    • P:ไพ CPU ไฝฟ็”จ็އ้™ๅ†ชๆŽ’ๅบ
    • M:ไพ่จ˜ๆ†ถ้ซ”ไฝฟ็”จ็އๆŽ’ๅบ
    • 1:ๅˆ‡ๆ›้กฏ็คบๆฏ้ก† CPU core ็š„ไฝฟ็”จ็‹€ๆณ
    • h:้กฏ็คบ่ชชๆ˜Ž
    • k:่ผธๅ…ฅ PID,้€ๅ‡บ kill ่จŠ่™Ÿ
    • q:้›ข้–‹ top

    3. ไฝ•ๆ™‚้ฉๅˆ็”จ top?

    • ไฝ ๅ‰›็™ปๅ…ฅไธ€ๅฐไธ็†Ÿ็š„ Linux:ๆƒณๅฟซ้€Ÿ็œ‹ไธ€ไธ‹「็พๅœจๆ˜ฏไธๆ˜ฏๅพˆๅฟ™」。
    • ่ณ‡ๆบ็•ฐๅธธๆ™‚,ๅ…ˆ็”จ top ๅˆคๆ–ทๆ˜ฏ CPU ้‚„ๆ˜ฏ่จ˜ๆ†ถ้ซ”ๅ•้กŒ。
    • ้œ€่ฆๅœจ้žๅธธ็ฒพ็ฐก็š„็’ฐๅขƒ(rescue mode、ๆœ€ๅฐๅฎ‰่ฃ)ไธญๆŸฅ็œ‹็‹€ๆ…‹。

    ๅ››、htop:ไบ’ๅ‹•ๅผไป‹้ข่ˆ‡ๆจน็‹€่กŒ็จ‹่ฆ–ๅœ–

    htop ๅฏไปฅ็œ‹ๆˆๆ˜ฏ top ็š„「้€ฒๅŒ–็‰ˆ」,ๆไพ›:

    • ๅฝฉ่‰ฒ็š„ CPU / RAM / Swap ๆข็‹€ๅœ–。
    • ๅฏๆป‘ๅ‹•็š„่กŒ็จ‹ๅˆ—่กจ,ๆ”ฏๆดๆป‘้ผ ๆ“ไฝœ。
    • ๆจน็‹€่ฆ–ๅœ–(Tree view):ๅฏไปฅ็œ‹ๅ‡บ็ˆถๅญ่กŒ็จ‹ไน‹้–“็š„้—œไฟ‚。
    • ๆ›ดๅฅฝ็”จ็š„ๆœๅฐ‹、็ฏฉ้ธ่ˆ‡ kill ่กŒ็จ‹ๅŠŸ่ƒฝ。

    1. ๅฎ‰่ฃๆ–นๅผ

    # Debian / Ubuntu
    sudo apt update
    sudo apt install htop
    
    # CentOS / RHEL / Rocky / AlmaLinux
    sudo yum install htop
    # ๆˆ–
    sudo dnf install htop
    

    2. ๅŸบๆœฌๆ“ไฝœ่ˆ‡ๅฏฆ็”จๅŠŸ่ƒฝ

    # ๅŸท่กŒ
    htop
    
    • ๆ–นๅ‘้ต / PageUp / PageDown:ๅœจ่กŒ็จ‹ๅˆ—่กจไธญ็งปๅ‹•。
    • F3:ๆœๅฐ‹ process ๅ็จฑ。
    • F4:็ฏฉ้ธ,ๅช้กฏ็คบ็ฌฆๅˆๆขไปถ็š„่กŒ็จ‹。
    • F5:ๅˆ‡ๆ›ๆจน็‹€่ฆ–ๅœ–(Tree)。
    • F6:้ธๆ“‡ๆŽ’ๅบๆฌ„ไฝ(CPU%、MEM%、TIME+ ็ญ‰)。
    • F9:kill ่กŒ็จ‹,ๅฏๆŒ‘้ธ signal(TERM / KILL)。

    3. ไฝฟ็”จ htop ๆŽ’ๆŸฅๅ•้กŒ็š„ๅ…ธๅž‹ๆต็จ‹

    1. ๅ…ˆ็œ‹ไธŠๆ–น CPU / MEM ๆข็‹€ๅœ–:่ณ‡ๆบๆ˜ฏไธๆ˜ฏ็ˆ†ๆމ。
    2. ๆŒ‰ F6 ๅˆ‡ๆ›ๆŽ’ๅบ:ๅ…ˆ็œ‹ CPU%,ๅ†ๅˆ‡ๅˆฐ MEM%。
    3. ๆŒ‰ F5 ็œ‹ๆจน็‹€่ฆ–ๅœ–:ๆ‰พๅ‡บๆ˜ฏๅฆๆŸๅ€‹ service fork ๅ‡บๅคง้‡ๅญ่กŒ็จ‹。
    4. ้ปž้ธ(ๆˆ–็”จๆ–นๅ‘้ต้ธๅˆฐ)ๅฏ็–‘่กŒ็จ‹,ๅ†็”จ F9 ้€ๅ‡บ้ฉ็•ถ signal。

    ๅฐๆ—ฅๅธธ็ถญ้‹ไพ†่ชช,htop ๆ˜ฏ้žๅธธๆŽจ่–ฆ้ ่จญๅฎ‰่ฃ็š„ๅทฅๅ…ท,ๅœจ้œ€่ฆไบ’ๅ‹•ๅผๆŽ’้Œฏๆ™‚ๆœƒๆฏ” top ่ˆ’ๆœๅพˆๅคš。

    ไบ”、glances:ไธ€้ ็œ‹ๅฎŒๅ…จๆฉŸ่ณ‡ๆบ็š„ๅณๆ™‚ๅ„€่กจๆฟ

    glances ๅฏไปฅๆƒณๆˆ「ๆ”พๅœจ็ต‚็ซฏๆฉŸ่ฃก็š„ๅฐๅž‹็›ฃๆŽงๅ„€่กจๆฟ」,้™คไบ†ๅœจๆœฌๆฉŸ่ท‘ไน‹ๅค–, ้‚„ๆ”ฏๆด client/server ๆจกๅผWeb UIๅŒฏๅ‡บๅˆฐ InfluxDB ็ญ‰ๅพŒ็ซฏ。 ้ฉๅˆไฝ ๆƒณ:

    • ไธ็”จๆžถไธ€ๆ•ดๅฅ— Prometheus/Grafana,ๅˆๆƒณๅœจๅคšๅฐไธปๆฉŸไธŠ้›†ไธญ็›ฃ่ฆ–。
    • ๅœจ้ ็ซฏไปฅ็€่ฆฝๅ™จๆˆ–ไธ€ๅ€‹ glances client ๅฐฑ็œ‹ๅˆฐๆ‰€ๆœ‰ไธปๆฉŸ็‹€ๆณ。

    1. ๅฎ‰่ฃๆ–นๅผ

    # ไฝฟ็”จๅฅ—ไปถ็ฎก็†(็‰ˆๆœฌๅฏ่ƒฝ็•ฅ่ˆŠ)
    sudo apt install glances        # Debian / Ubuntu
    sudo yum install glances        # CentOS / RHEL
    
    # ๅปบ่ญฐไฝฟ็”จ pip ๅฎ‰่ฃ่ผƒๆ–ฐ็‰ˆๆœฌ
    sudo pip3 install glances
    

    2. ๅŸบๆœฌไฝฟ็”จ

    # ๅœจๆœฌๆฉŸ็ต‚็ซฏๆฉŸ็›ดๆŽฅไฝฟ็”จ
    glances
    
    # ไปฅ Web mode ๅœจ่ƒŒๆ™ฏๅ•Ÿๅ‹•(้ ่จญ port 61208)
    glances -w
    
    # ๅ•Ÿๅ‹•็‚บ server(ไพ›ๅ…ถไป– glances client ้€ฃ็ทš)
    glances -s
    
    # ๅพž client ้€ฃ็ทšๅˆฐ้ ็ซฏ glances server
    glances -c 10.0.0.10
    

    3. ไป‹้ข้‡้ปž่ˆ‡ๅธธ็”จๅ€ๅกŠ

    • ไธŠๆ–น:CPU、Load、่จ˜ๆ†ถ้ซ”、Swap、ๆบซๅบฆ็ญ‰็ธฝ่ฆฝ。
    • ไธญ้–“:่กŒ็จ‹ๅˆ—่กจ(ๅฏๆŽ’ๅบ、็ฏฉ้ธ)。
    • ไธ‹ๆ–น:็ถฒ่ทฏ、็ฃ็ขŸ I/O、ๆช”ๆกˆ็ณป็ตฑไฝฟ็”จ็އ、Docker ็ญ‰่ณ‡่จŠ。

    glances ๅพˆ้ฉๅˆๆ”พๅœจไธ€ๅ€‹「็›ฃๆŽง่ทณๆฟๆฉŸ」ไธŠ,ๆˆ–ๅœจๆœฌๆฉŸ้–‹ Web mode,่ฎ“ไฝ ็”จ็€่ฆฝๅ™จ้–‹่‘—ไธ€ๅ€‹ๅ„€่กจๆฟ, ้šจๆ™‚ๆณจๆ„ๅ„ๅฐไธปๆฉŸ็š„ๅฅๅบท็‹€ๆ…‹。

    ๅ…ญ、nmon:ๅฐˆ็‚บๆ•ˆ่ƒฝๅˆ†ๆž่ˆ‡ๆญทๅฒๅ ฑ่กจ่€Œ็”Ÿ

    nmon ็š„่จญ่จˆๅˆ่กท,ๅฐฑๆ˜ฏๅนซไฝ ๆ”ถ้›†็ณป็ตฑๆ•ˆ่ƒฝๆ•ธๆ“šไธฆๅŒฏๅ‡บ,ไน‹ๅพŒๅ†้€้Ž Excel、R、Grafana ๆˆ–ๅฐˆ้–€็š„่ฆ–่ฆบๅŒ–ๅทฅๅ…ท ้€ฒ่กŒๅˆ†ๆž่ˆ‡ๅ ฑ่กจๅ‘ˆ็พ。

    1. ๅฎ‰่ฃๆ–นๅผ

    # Debian / Ubuntu
    sudo apt install nmon
    
    # CentOS / RHEL / Rocky / AlmaLinux
    sudo yum install nmon
    # ๆˆ–
    sudo dnf install nmon
    

    2. ๅŸบๆœฌไป‹้ขๆ“ไฝœ

    # ๅŸท่กŒไบ’ๅ‹•ๅผไป‹้ข
    nmon
    
    • c:CPU ่ณ‡่จŠ。
    • m:่จ˜ๆ†ถ้ซ”่ณ‡่จŠ。
    • d:็ฃ็ขŸไฝฟ็”จ่ˆ‡ I/O。
    • n:็ถฒ่ทฏไป‹้ข่ˆ‡ๆต้‡。
    • t:Top process。
    • q:้›ข้–‹。

    3. ๆ”ถ้›†ๆ•ˆ่ƒฝ็ด€้Œ„ๅˆฐๆช”ๆกˆ

    nmon ็œŸๆญฃๅผทๅคง็š„ๅœฐๆ–นๅœจๆ–ผ「้žไบ’ๅ‹•ๆจกๅผ」,ๅฏไปฅๅฎšๆœŸๆ”ถ้›†่ณ‡ๆ–™:

    # ๆฏ 10 ็ง’ๆ”ถ้›†ไธ€ๆฌก,็ธฝๅ…ฑๆ”ถ้›† 360 ๆฌก(็ด„ 1 ๅฐๆ™‚)
    nmon -f -s 10 -c 360
    
    # ๆœƒ็”ข็”Ÿ้กžไผผ:hostname_YYYYMMDD_HHMM.nmon ็š„ๆช”ๆกˆ
    

    ็”Ÿๆˆ็š„ .nmon ๆช”ๆกˆๅฏไปฅไธŸๅˆฐๅ„็จฎ nmon ๅˆ†ๆžๅทฅๅ…ทไธญ,่ฝ‰ๆˆๅœ–่กจ่ˆ‡ๅ ฑ่กจ, ๅพˆ้ฉๅˆ็”จไพ†ๅšๅฎน้‡่ฆๅŠƒ、ๅฃ“ๅŠ›ๆธฌ่ฉฆๅพŒ็š„ๅˆ†ๆž、ๆˆ–ๆไพ›็ตฆๅฎขๆˆถ/ไธป็ฎกไฝœ็‚บไฝ่ญ‰่ณ‡ๆ–™。

    ไธƒ、dstat:็”จไธ€ๆขๅ‘ฝไปคๆ•ดๅˆ vmstat / iostat / ifstat

    dstat ๆ˜ฏไธ€ๅฅ—「ๆ•ดๅˆๅž‹」็š„็›ฃๆŽงๅทฅๅ…ท,ๅ–ไปฃๅคš็จฎ่ˆŠๅทฅๅ…ท,่ฎ“ไฝ ็”จ ไธ€ๆขๅ‘ฝไปค ๅฐฑ่ƒฝๅŒๆ™‚็œ‹ๅˆฐ CPU、่จ˜ๆ†ถ้ซ”、็ฃ็ขŸ、็ถฒ่ทฏ็ญ‰่ณ‡่จŠ,้žๅธธ้ฉๅˆๅœจ ๆŽ’้Œฏ่…ณๆœฌ、่‡จๅ ดๅˆ†ๆž ไธญๅฟซ้€Ÿๆ”ถ้›†่ณ‡ๆ–™。

    1. ๅฎ‰่ฃๆ–นๅผ

    # Debian / Ubuntu
    sudo apt install dstat
    
    # CentOS / RHEL ๅฏ่ƒฝ้œ€ๅ•Ÿ็”จ EPEL
    sudo yum install epel-release
    sudo yum install dstat
    

    2. ๅธธ่ฆ‹็”จๆณ•็ฏ„ไพ‹

    # ๆœ€ๅธธ่ฆ‹็š„ๅŸบๆœฌ็”จๆณ•:ๆฏ็ง’ๆ›ดๆ–ฐไธ€ๆฌก
    dstat
    
    # ้กฏ็คบ CPU、่จ˜ๆ†ถ้ซ”、็ฃ็ขŸ、็ถฒ่ทฏ
    dstat -cmdn
    
    # ้กๅค–ๅŠ ไธŠ I/O ็ญ‰ๅพ…、็ณป็ตฑๅ‘ผๅซ็ญ‰
    dstat -tcmndy
    
    # ๅฐ‡็ตๆžœ่ผธๅ‡บๅˆฐ CSV,ๆ–นไพฟๅพŒ็บŒ็•ซๅœ–
    dstat -tcmnd --output stats.csv
    

    dstat ็š„ๅ„ชๅ‹ขๅœจๆ–ผ่ผธๅ‡บๆ ผๅผ「ๆฉŸๅ™จๅ‹ๅ–„」,ไฝ ๅฏไปฅๅพˆๅฎนๆ˜“็”จ่…ณๆœฌๅŽป่งฃๆž、ๅญ˜ๆช”, ็”š่‡ณ่‡ชๅ‹•่ฝ‰ๆˆๅ…ถไป–็›ฃๆŽง็ณป็ตฑ็š„่ผธๅ…ฅ。

    ๅ…ซ、ๅทฅๅ…ทๆฏ”่ผƒ่กจ:ไธๅŒๆƒ…ๅขƒๅฆ‚ไฝ•้ธๆ“‡?

    ไธ‹้ข้€™ๅผต่กจๅฏไปฅ็•ถไฝœ「ๅฏฆๆˆฐ้ธๆ“‡ๆŒ‡ๅ—」,็•ถไฝ ้‡ๅˆฐไธๅŒๆƒ…ๅขƒๆ™‚,ๅฏไปฅๅ„ชๅ…ˆ่€ƒๆ…ฎ็š„ๅทฅๅ…ท:

    ๆƒ…ๅขƒ ๅ„ชๅ…ˆๅทฅๅ…ท ่ผ”ๅŠฉๅทฅๅ…ท ่ชชๆ˜Ž
    ๅ‰›็™ปๅ…ฅ้™Œ็”ŸไธปๆฉŸ,ๆƒณๅฟซ้€Ÿ็ž„ไธ€ไธ‹็‹€ๆ…‹ top htop(่‹ฅๆœ‰่ฃ) top ไปปไฝ•ๅœฐๆ–น้ƒฝๆœ‰;่‹ฅ htop ๅญ˜ๅœจๅ‰‡ๅฏๅฟซ้€Ÿๅˆ‡ๆ›ไฝฟ็”จ。
    ้œ€่ฆไบ’ๅ‹•ๅผๆŸฅๆ‰พๅ•้กŒ่กŒ็จ‹、kill ๆœๅ‹™ htop top htop ็š„ๆจน็‹€่ฆ–ๅœ–่ˆ‡ๆœๅฐ‹/็ฏฉ้ธๅŠŸ่ƒฝ้žๅธธ้ฉๅˆๆ‰‹ๅ‹•ๆŽ’้Œฏ。
    ๆƒณ่ฆไธ€ๅ€‹「ๆ•ดๆฉŸๅ„€่กจๆฟ」,้ ็ซฏๆŒ็บŒ่ง€็œ‹ glances Prometheus / Grafana glances ๅฏ Web / client-server ๆจกๅผ;่‹ฅ่ฆ้•ทๆœŸ็ตฑ่จˆๅ†ๆŽฅ metrics ็ณป็ตฑ。
    ๅฃ“ๅŠ›ๆธฌ่ฉฆ、ๅฎน้‡่ฆๅŠƒ,ไน‹ๅพŒ่ฆๅšๅ ฑ่กจ nmon dstat nmon ๅฏ่ผธๅ‡บ .nmon ๆช”ๆกˆๅพŒ็บŒ่ฆ–่ฆบๅŒ–;dstat ๅ‰‡้ฉๅˆๆญ้…่…ณๆœฌ่‡ชๅ‹•ๆ”ถ้›†。
    ๆƒณๅœจ่…ณๆœฌ่ฃกๆ”ถ้›† CPU / I/O / ็ถฒ่ทฏๆŒ‡ๆจ™ dstat vmstat / iostat / sar dstat ่ผธๅ‡บๅ‹ๅ–„、ๅฝˆๆ€ง้ซ˜,้ฉๅˆไธ€่กŒๆŒ‡ไปค็œ‹ๅคš็จฎ่ณ‡ๆบ。

    ไน、ๅฏฆๆˆฐๆƒ…ๅขƒ็คบ็ฏ„:CPU ็ˆ†ๆปฟ、I/O ๆ…ข、่จ˜ๆ†ถ้ซ”็ˆ†็š„ๆŽ’ๆŸฅๆต็จ‹

    ๆƒ…ๅขƒไธ€:CPU ไฝฟ็”จ็އ 100%,็ณป็ตฑๆ˜Ž้กฏ่ฎŠๆ…ข

    1. ๅ…ˆ็”จ top ๆˆ– htop ็œ‹ๆ˜ฏๅ“ชไธ€ๅ€‹ process ๆŠŠ CPU ๅƒๆปฟ。
    2. ๆŒ‰ 1(top)ๆˆ–่ง€ๅฏŸ CPU ๆข(htop),็ขบ่ชๆ˜ฏๅ–ฎ core ็ˆ†้‚„ๆ˜ฏๅ…จ้ƒจ core ็ˆ†。
    3. ่‹ฅๆ˜ฏๅ–ฎไธ€ๆœๅ‹™(ไพ‹ๅฆ‚ๆŸๆ”ฏ Python / PHP ็จ‹ๅผ):
      • ๅ…ˆ่ง€ๅฏŸไธ€ๆฎตๆ™‚้–“,็ขบ่ชๆ˜ฏไธๆ˜ฏ็Ÿญๆšซๅฐ–ๅณฐ。
      • ๅฟ…่ฆๆ™‚ไปฅ htop ้ธๅ–่ฉฒ่กŒ็จ‹,็”จ F9 ้ฉๅบฆ้€ๅ‡บ TERM ๆˆ– KILL。
    4. ้•ทๆœŸไพ†็œ‹,ๅฏไปฅๆญ้… nmon / dstat ๆ”ถ้›† CPU ไฝฟ็”จ็އ,ๆ‰พๅ‡บๅฐ–ๅณฐๆ™‚ๆฎต่ˆ‡ๆจกๅผ。

    ๆƒ…ๅขƒไบŒ:็ฃ็ขŸ I/O ็•ฐๅธธ,ๆœๅ‹™ๅๆ‡‰่ฎŠๅพ—ๅก้ “

    1. ๅ…ˆ็”จ dstat -tcmnd,่ง€ๅฏŸ ็ฃ็ขŸ I/O ๆฌ„ไฝ ๆ˜ฏๅฆ้žๅธธ้ซ˜。
    2. ๆญ้… iostat -x 1(่‹ฅๆœ‰)็œ‹ๆฏ้ก†็ฃ็ขŸ็š„ await / svctm / %util。
    3. ็”จ htop ๆˆ– glances ๆŸฅๆ‰พๅคง้‡ๅš I/O ็š„ process。
    4. ๅฟ…่ฆๆ™‚็”จ nmon ่จ˜้Œ„ไธ€ๆฎตๆ™‚้–“็š„ I/O ่ณ‡ๆ–™,ไน‹ๅพŒๅšๆ›ด็ดฐ็ทป็š„ๅˆ†ๆž่ˆ‡ๅ ฑ่กจ。

    ๆƒ…ๅขƒไธ‰:่จ˜ๆ†ถ้ซ”ๅƒๆปฟ、้–‹ๅง‹ๅคง้‡ Swap,ๆœๅ‹™ๅปถ้ฒๆ€ฅ้ฝไธŠๅ‡

    1. ็”จ htop ๆˆ– top ็œ‹ RES / VIRT / SHR ๆฌ„ไฝ,ๆ‰พๅ‡บ็‰นๅˆฅ่‚ฅ็š„ process。
    2. ๅœจ htop ไปฅ่จ˜ๆ†ถ้ซ”ๆŽ’ๅบ(F6 → ้ธ MEM%)ๆ‰พๅ‡บ top N ็š„ๅคงๆˆถ。
    3. ็ŸญๆœŸๅฏไปฅ้™็ดš้ƒจๅˆ†ๆœๅ‹™、่ชฟๆ•ด cache ่จญๅฎšๆˆ–้‡ๅ•Ÿ็•ฐๅธธ็จ‹ๅผ。
    4. ไธญ้•ทๆœŸๅ‰‡้œ€่ฆ่ชฟๆ•ดๆœๅ‹™ๆžถๆง‹(ๅˆ†ๆ•ฃๅˆฐๅคšๅฐๆฉŸๅ™จ)、ๆˆ–ๅ‡็ดš่จ˜ๆ†ถ้ซ”ๅฎน้‡。

    ไฝ ๅฏไปฅๅฐ‡้€™ไบ›ๆต็จ‹ๅฏซๆˆ็ฐกๅ–ฎ็š„「ๅ€ผ็ญๆ‰‹ๅ†Š」,ๆญ้…ๆŒ‡ไปค็ฏ„ไพ‹,่ฎ“ๅœ˜้šŠ่ฃก็š„ๆฏๅ€‹ไบบ้‡ๅˆฐๅ•้กŒๆ™‚้ƒฝ่ƒฝ็”จๅŒๆจฃ็š„ๆ–นๆณ•ๆŽ’ๆŸฅ,ๆธ›ๅฐ‘่‡จๅ ดๆ…Œไบ‚่ˆ‡ๆบ้€šๆˆๆœฌ。

    ๅ、ๅธธ่ฆ‹ๅ•้กŒ FAQ(่ˆ‡ไธŠๆ–น JSON-LD ๅฐๆ‡‰)

    Q1. ๆˆ‘ๅทฒ็ถ“ๆœƒ็”จ top,้‚„ๆœ‰ๅฟ…่ฆๅญธ htop ๆˆ– glances ๅ—Ž?

    ๅพˆๅ€ผๅพ—ๅญธ。top ้›–็„ถ้šจ่™•ๅฏ็”จ,ไฝ†ๅœจๆŽ’้Œฏๆ™‚,ไบ’ๅ‹•ๅผไป‹้ข็š„ๆ•ˆ็އๅทฎๅพˆๅคš。 htop ๅฏไปฅ่ฎ“ไฝ ็”จๆป‘้ผ 、ๆ–นๅ‘้ตๅฟซ้€Ÿ็งปๅ‹•、็ฏฉ้ธๅ’Œๆฎบ่กŒ็จ‹; glances ๅ‰‡ๆไพ›「ๅ„€่กจๆฟ」ๅผ็š„ๅ…จๆฉŸ่ฆ–ๅœ–,้‚„่ƒฝ้€้Ž Web ๅ’Œ client/server ๆจกๅผ้›†ไธญๆŸฅ็œ‹ๅคšๅฐไธปๆฉŸ。

    Q2. ่ฆ้•ทๆœŸไฟๅญ˜ๆ•ˆ่ƒฝๆ•ธๆ“š,ๆ‡‰่ฉฒ้ธ nmon ้‚„ๆ˜ฏ dstat?

    ๅฆ‚ๆžœไฝ ็š„็›ฎๆจ™ๆ˜ฏๅš ๅฃ“ๅŠ›ๆธฌ่ฉฆๅ ฑ่กจ、ๅฎน้‡่ฆๅŠƒ็ฐกๅ ฑ,nmon ็š„ CSV / nmon ๆช”ๆกˆ่ผธๅ‡บๆœƒๅพˆๆ–นไพฟ; ่‹ฅไฝ ๆƒณๅœจ่…ณๆœฌไธญๅฟซ้€Ÿ่จ˜้Œ„ๆŸๆฎตๆ™‚้–“็š„ CPU / I/O / ็ถฒ่ทฏ,ๅฐฑๅฏไปฅ็”จ dstat ๆญ้… --output ๅŒฏๅ‡บ็ตๆžœ,ไน‹ๅพŒๅ†็”จไปปไฝ•ไฝ ๅ–œๆญก็š„ๅทฅๅ…ท็•ซๅœ–ๆˆ–ๆ•ด็†。

    Q3. ้€™ไบ›ๅทฅๅ…ทๆœƒไธๆœƒๅ้Žไพ†ๆ‹–ๆ…ข็ณป็ตฑ?

    ๅœจไธ€่ˆฌๆƒ…ๆณไธ‹,ๅฎƒๅ€‘็š„่ฒ ๆ“”็›ธๅฐ่ผ•้‡,ๅช่ฆไธ่ฆ็”จๅคช็Ÿญ็š„ๆ›ดๆ–ฐ้–“้š”(ไพ‹ๅฆ‚ 0.1 ็ง’)ๆŽ›่‘—ไธ€ๆ•ดๅคฉ, ๅฝฑ้Ÿฟ้€šๅธธๅฏไปฅๅฟฝ็•ฅไธ่จˆ。ๅœจ่ณ‡ๆบ้žๅธธๅƒ็ทŠ็š„็’ฐๅขƒ่ฃก,ๅปบ่ญฐ:

    • ๆธ›ๅฐ‘ๅŸท่กŒๆ™‚้–“,ไพ‹ๅฆ‚ๅชๅœจๆŽ’้ŒฏๆœŸ้–“ๅ•Ÿๅ‹•。
    • ่ชฟๆ•ดๆ›ดๆ–ฐ้ ป็އ(ไพ‹ๅฆ‚ๆฏ 2~5 ็ง’ๆ›ดๆ–ฐไธ€ๆฌก)。
    • ้‡่ฆๆœๅ‹™ไธŠๆ›ดๅคšไพ้  agents ่ˆ‡้›†ไธญ็›ฃๆŽง(Prometheus / node_exporter ็ญ‰)。

    Q4. ๆ—ฅๅธธ็ถญ้‹ไฝ ๆœƒๆŽจ่–ฆ็š„็ต„ๅˆๆ˜ฏไป€้บผ?

    ไธ€็จฎๅธธ่ฆ‹่€Œๅฏฆ็”จ็š„็ต„ๅˆๆ˜ฏ:

    • ๆ—ฅๅธธๅณๆ™‚ๆŽ’้Œฏ:htop + glances
    • ๆ”ถ้›†ๆญทๅฒๆ•ธๆ“š:nmon ๆˆ– dstat
    • ้•ทๆœŸ็›ฃๆŽง่ˆ‡ๅ‘Š่ญฆ:้›†ไธญๅผ็›ฃๆŽง(Prometheus + Grafana ็ญ‰)

    ๅฆ‚ๆญคไธ€ไพ†,ๆœฌๆ–‡ไป‹็ดน็š„ๅทฅๅ…ทๅฏไปฅๅฐˆๆณจๅœจ「ๅณๆ™‚ๆŽ’้Œฏ」่ˆ‡「ๅ–ฎๆฉŸๆทฑๅ…ฅ่จบๆ–ท」,่€Œ้•ทๆœŸ่ถจๅ‹ข่ˆ‡ๅ‘Š่ญฆไบค็ตฆๅฐˆ้–€็š„็›ฃๆŽงๅนณๅฐ่™•็†。

    ๐Ÿงญ ่กŒๅ‹•ๆธ…ๅ–ฎ:ๅฆ‚ไฝ•ๅœจไฝ ็š„็’ฐๅขƒ่ฝๅœฐ้€™ๅฅ—็›ฃๆŽง็ต„ๅˆ?

    ✅ ๅœจๆ‰€ๆœ‰ Linux ไผบๆœๅ™จไธŠๅฎ‰่ฃ htop、dstat
    ✅ ้ธไธ€ๅฐ็ฎก็†่ทณๆฟๆฉŸ,้ƒจ็ฝฒ glances(ๅซ Web mode)
    ✅ ็‚บๅฃ“ๅŠ›ๆธฌ่ฉฆ่ˆ‡ๅฎน้‡่ฆๅŠƒไธปๆฉŸๅฎ‰่ฃ nmon,ๅปบ็ซ‹ๅ›บๅฎšๆ”ถ้›†่…ณๆœฌ
    ✅ ๅฏซไธ€ไปฝ「ๅ€ผ็ญๆŽ’้Œฏๆ‰‹ๅ†Š」,ๆญ้…ๆœฌๆ–‡็š„ๆƒ…ๅขƒๆต็จ‹่ˆ‡ๆŒ‡ไปค็ฏ„ไพ‹
    ✅ ๆ—ฅๅพŒ่€ƒๆ…ฎๅฐŽๅ…ฅ Prometheus + Grafana,ๅฐ‡้ƒจๅˆ†ๆŒ‡ๆจ™ๆŽฅ่ปŒ้›†ไธญ็›ฃๆŽง
    

    ๐Ÿ’ฌ ไธ€่ตท่Š่Šไฝ ็š„ Linux ็›ฃๆŽง็ฟ’ๆ…ฃ

    ไฝ ๅœจๅฏฆๅ‹™ไธŠๆœ€ๅธธ็”จๅ“ชไธ€ๅฅ—ๅทฅๅ…ท?ๆœ‰ๆฒ’ๆœ‰่ธฉ้Žไป€้บผ่ˆ‡ๆ•ˆ่ƒฝ็›ฃๆŽง็›ธ้—œ็š„ๅ‘?
    ๆญก่ฟŽๅœจไธ‹ๆ–น็•™่จ€ๅˆ†ไบซไฝ ็š„็ถ“้ฉ—,ๆˆ–ๆ˜ฏๆƒณ็œ‹็š„ๅ…ถไป– Linux ็›ฃๆŽงไธป้กŒ(ไพ‹ๅฆ‚ sar、collectl、Prometheus node_exporter ็ญ‰), ไนŸๅฏไปฅๅฏซๅœจ็•™่จ€่ฃก,ๆˆ‘ๆœƒๅ†ๆ•ด็†ๆˆๅพŒ็บŒๆ–‡็ซ  ๐Ÿ™Œ


    — WWFandy・Linux ๆ•ˆ่ƒฝ็›ฃๆŽง็ญ†่จ˜

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš