๐ง Linux ็ฃๆงๅทฅๅ ทๅ จๆฏ่ผ:top / htop / Glances / nmon / dstat ๅฏฆๅๆ็จ่ๆ่ฝๅๆๆๅ
ๆณๆๆๆๆก Linux ็ณป็ตฑๆ่ฝ็ๆณ,ๆๅธธไฝฟ็จ็ๅฐฑๆฏ CPU、่จๆถ้ซ、Disk I/O、็ถฒ่ทฏ็ญๅณๆ็ฃๆงๅทฅๅ
ท。
ๅณ็ตฑ็ top ้็ถๅทฒ็ถๅพๅฅฝ็จ,ไฝ้ขๅฐ่ค้็ๅทฅไฝ่ฒ ่ผ、ๅฎนๅจ็ฐๅขๆๆ็บๆ่ฝ็ถ้ ธๅๆๆ,ๅทฅๅ
ท่ถ้ฝๅ
จ,ไฝ ็็ถญ้ๆ็่ถ้ซ。
ๆฌๆไปฅๅฏฆๅ่งๅบฆๆฏ่ผ top、htop、Glances、nmon、dstat ็ๅ่ฝๅทฎ็ฐ,ไธฆๆไพๅฆไฝๅจๅธธ่ฆๆ
ๅขไธญ้ธ็จๆไฝณๅทฅๅ
ท。
ไธ、็ฃๆงๅทฅๅ ทๆฆ่ฆฝๆฏ่ผ่กจ
| ๅทฅๅ ท | ๅณๆ็ฃๆง | CPU/Memory | I/O | ็ถฒ่ทฏ | ๆญทๅฒ็ด้ | UI ไป้ข | ้ฉ็จๆ ๅข |
|---|---|---|---|---|---|---|---|
| top | ✔ | ✔ | ▲(ๆ้) | ▲ | ✘ | CLI | ๅฟซ้ๆฅ็、ๆๆ็ณป็ตฑ้ ่จญๆ |
| htop | ✔ | ✔ | ✔ | ✔ | ▲(ๆ้) | ไบๅๅผๅฝฉ่ฒ UI | ็ด่ฆบๆฅ็ CPU/Threads、Kill Process |
| Glances | ✔ | ✔ | ✔ | ✔ | ✔(ๅฏๅฏๅบ) | Web/CLI | ๅ จๆนไฝ็ตฑๆด、้ ็ซฏ็ฃๆง、้ซๅบฆๆดๅ |
| nmon | ✔ | ✔ | ✔(Disk ้ๅธธๅผท) | ✔ | ✔(CSV ๅฏๅบ) | CLI + ๅ่กจๅๆๅทฅๅ ท | ๆง่ฝ็ถ้ ธ่ชฟๆฅ、ๅคง่ฆๆจกๆ่ฝ่จ้ |
| dstat | ✔ | ✔ | ✔(I/O ่ถ ๅฎๆด) | ✔ | ✔(CSV) | CLI | ่งๅฏ I/O、Network、Context Switch ่ฎๅ |
ไบ、top:Linux ๅ งๅปบ、ๆๅบๆฌ็ๅณๆ็ฃๆงๅทฅๅ ท
top ๅนพไนๅจๆๆ Linux ็ผ่ก็ไธญ้ฝๅทฒ้ ่จญๅฎ่ฃ。ๅฎ้ฉๅ:
- ๅฟซ้ๆๆฅ CPU ๆ้ซ็็จๅบ
- ่งๅฏๆด้ซ Load Average、่จๆถ้ซๅฃๅ
- ๅฟซ้ๆพๅบๅกไฝ็ Process
# ๅๅ top
top
# ๅธธ็จ็ฑ้ต
P ไพ CPU ๆๅบ
M ไพ Memory ๆๅบ
k Kill process
1 ้กฏ็คบๆฏไธ้ก CPU ็ไฝฟ็จ็
top ็ไพท้
- ไป้ขไธๅค ็ด่ฆบ
- I/O ็ฃๆงๆ้
- ๆฒๆๆญทๅฒ็ด้ๅ่ฝ
ไธ、htop:top ็ๅผทๅ็,ไป้ขๅๅฅฝไธไบๅๆง้ซ
htop ่ขซ่ฆ็บ top ็้ซ้็,ๅ ทๆๆด็พ่ง็ๅฝฉ่ฒไป้ข、Process Tree ๆจน็ๅ、ๆป้ผ ๆไฝๆฏๆด。
# ๅฎ่ฃ htop
sudo apt install htop # Debian/Ubuntu
sudo dnf install htop # RHEL/CentOS/Rocky
# ๅท่ก
htop
htop ๅช้ป
- ้กฏ็คบ CPU ๅๅฅๆ ธๅฟไฝฟ็จ็(ๅซ logical cores)
- ๅฏ่ฆๅ่จๆถ้ซๆข、Swap ่ฒ ่ผๆข
- Tree View ๆนไพฟๆพๅบ็ถๅญ็จๅบ
- ๆไธไธ F9 ๅณๅฏ Kill Process
htop ็ไพท้
- ็ผบไนๆทฑๅ ฅ I/O、Network ๅๆ
- ็กๆณ่ฉณ็ดฐ่จ้้ทๆๆ่ฝ
ๅ、Glances:ๅ จๆนไฝ็ตฑๆด็ๆ่ฝๅ่กจๆฟ(ๆฏๆด Web UI)
Glances ๆฏ Python ๅฏซ็่ทจๅนณๅฐ็ณป็ตฑ็ฃๆงๅทฅๅ ท,ๆๅคงไบฎ้ปๆฏๆไพ「ๅ จ้ ็ฎๅณๆ็ฃๆง」: CPU、Memory、Disk、Network、Sensors、Docker、Systemd、Processes、Load、I/O… ๅ จ้จๆดๅๅจๅไธ็ซ้ข。
ๅฎ่ฃ Glances
sudo apt install glances # Debian/Ubuntu
sudo dnf install glances # RHEL 9+
pip install glances # ้็จๆนๅผ
ๅๅๆนๅผ
glances # ๆฌๅฐ็ฃๆง
glances -w # ๅๅ Web UI(้ ่จญ port 61208)
glances --export csv # ๅฐ็ฃๆง่ณๆๅฏๅบ
Glances ๅช้ป
- ๅ จ้ ็ฎๆดๅ,ไธ้ๅ่ฆ็ชๆๅท่กๅคๅทฅๅ ท
- ๆฏๆด Web UI,ๅฏ้ ็ซฏ็ฃๆง
- ๆฏๆดๅฏๅบๅฐ InfluxDB、Prometheus、CSV
- ๆไปถๆถๆง่ฝ้กฏ็คบ Docker、sensor ็ญ้ซ้่ณ่จ
Glances ็ผบ้ป
- ไฝ็จ่ณๆบๆฏ top/htop ๅคไธไบ
- ๅฐ็ด CLI ไฝฟ็จ่ ๅฏ่ฝ่ฆบๅพ็ซ้ข่ผ่ค้
ไบ、nmon:IBM ้็ผ、ไผๆฅญ็ดๆ่ฝ่ชฟๆ ก็ฅๅจ
nmon(Nigel’s Monitor)ๅจไผๆฅญไธญ่ขซๅปฃๆณ็จๆผๆ่ฝๅๆ,ๅฐคๅ ถ้ฉๅ:
- Disk I/O ๆทฑๅบฆๅๆ
- CPU ไธๅๆ ธๅฟ็ๅคงๅๆฉๆง่ฝ่จ้
- ้ทๆ้่จ้(ไปฅ CSV ่ผธๅบไพๅๆ)
- ๆญ้ nmon Analyser ่ฝๆ Excel ๅ่กจ
ๅฎ่ฃ
sudo apt install nmon
sudo dnf install nmon
ๅๅ่ๅธธ็จๆ้ต
nmon
CPU → c
Disk → d
Network → n
Memory → m
Load → l
Top processes → t
้ทๆ่จ้ๆจกๅผ(perf ๅๆๆๅธธ็จ)
# ๆฏ 10 ็ง่จ้ไธๆฌก,ๅ
ฑๆ็บ 1 ๅฐๆ
nmon -f -s 10 -c 360
่ผธๅบๆ็ๆไธๅ .nmon ๆช,ๅฏ็จ nmon analyser ็ข็ๅ่กจๅๅ ฑ่กจ。
ๅ ญ、dstat:ๆๅ จ้ข็ I/O ่ Network ๅๆๅทฅๅ ท
dstat ้ๅธธ้ฉๅๆๆฅไธๅๅ้ก:
- I/O ๆฏๅฆ็้?ๆฏๅฆ่ขซๆ็จๅบไฝๆปฟ?
- ็ฃ็ขๅปถ้ฒๆฏๅฆ็ฐๅธธ?
- Network ๆต้ๆฏๅฆ็ชๅข?
- ๆฏๅฆๆ context switch ็ช็ถ้ฃ้ซ?
ๅฎ่ฃ
sudo apt install dstat
sudo dnf install dstat
ๅธธ็จ็ฏไพ
# ๆฅ็ CPU + Disk + Network + Page Faults
dstat -cdngy
# ๆฏ 1 ็ง่จ้,ไธฆ่ผธๅบๅฐ CSV
dstat -cdngy --output log.csv
dstat ๅช้ป
- ๅฎๆด I/O ่็ถฒ่ทฏ็ฃๆง,ๅ้ top/htop
- ๆธ ๆฅ้กฏ็คบ bottleneck ็ผ็็ๆๅบ
- ๅฏๅฏๅบ CSV ๅๅ่กจๅๆ
ไธ、ๅฏฆๅๆ ๅข:ๅฐๅบ่ฉฒ็จๅชไธๅ?
1. CPU ้ฃ้ซ(ไธๆๅๅ )
- ้ฆ้ธ:htop(ๆธ ๆฅๆฅ็ Threads、ๆจน็้ไฟ)
- ่ฃๅ :top(ๅฟซ้ๆพ process)
2. I/O ่ฎๅฏซ็ฐๅธธ、ๅปถ้ฒ่ฎ้ซ
- ้ฆ้ธ:dstat(I/O ่ฎๅๆฒ็ทๆๅฎๆด)
- ่ฃๅ :nmon(Disk ๅๆๆดๆทฑๅ ฅ)
3. Network ๆต้็ชๅข
- ้ฆ้ธ:dstat
- ่ฃๅ :Glances(ๅฏๅๆ็ๅคๆๆจ)
4. ้ซ่ฒ ่ผ(Load Average ้้ซ)
- ้ฆ้ธ:Glances(ไธๆฌก็ CPU、IO、Memory、Wait)
5. ้ทๆ้ๆ่ฝ่จ้ & ๅ ฑ่กจ่ผธๅบ
- ้ฆ้ธ:nmon(ๅซๅๆๅทฅๅ ท)
- ่ฃๅ :Glances(ๅฏๅฏๅบ InfluxDB / CSV)
6. Docker / ๅฎนๅจ็ฐๅข็ฃๆง
- ้ฆ้ธ:Glances(ๅ็ๆฏๆด Docker ่ณๆบ็ฃๆง)
ๅ ซ、ไบๅคงๅทฅๅ ท็ธฝ็ต:ๅฆไฝๆ้ธ?
ไธๅฅ่ฉฑ็ธฝ็ต:
- top:ๆๅบๆฌ,ๆฏๅฐ้ฝๆ、ๆๅฎๅ จ
- htop:ๆๅฅฝ็จ็ๆฅๅธธ็ฃๆงๅทฅๅ ท
- Glances:ๆๅ จ่ฝ็ๆ่ฝๅ่กจๆฟ
- nmon:ๆ้ฉๅๆ่ฝ็ถ้ ธๆทฑๅบฆ่ชฟๆฅ
- dstat:ๆ้ฉๅ I/O & Network ๆๅบๅๆ
ๅปบ่ญฐ้ป้ปๅฎ่ฃๅ จ้จ,่ฆๆ ๅขไฝฟ็จไธๅๅทฅๅ ท,็ถญ้้ซ้ฉๆๆๅ้ๅธธๅค。
๐งญ ่กๅๆธ ๅฎ(ๅฏ็ดๆฅ็ งๅ)
sudo apt install htop glances nmon dstat
htop # ๆฅๅธธ็จ
glances # ๅ
จๆนไฝ็ฃๆง
dstat -cdngy # I/O + Network ๅๆ
nmon -f -s 10 -c 360 # ้ทๆ้ๆ่ฝ่จ้
๐ ๅปถไผธ้ฑ่ฎ
- ๐ง Linux ไผบๆๅจๅพๅฎ่ฃๅฐ Hardening:ๅฎๆดๅ ฅ้ๅฐๅฎๅ จๅผทๅ
- ๐ Systemd + Logrotate ็ฎก็่ๆดๅ
- ๐ก Linux ๅฎๅ จๅผทๅ:SELinux / AppArmor / Auditd / Fail2Ban
- ๐ GoAccess ๆฅ่ชๅๆๆ็จ:Nginx/Apache ๅณๆๆต้ๅฏ่ฆๅ
- ๐ง Linux ๆชๆก็ณป็ตฑๆทฑๅ ฅๆฏ่ผ:ext4 / XFS / Btrfs / ZFS
— WWFandy・Linux ๆ่ฝ่งๅฏ็ญ่จ
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ