SysMon
SysMon:看看您的 QNAP 正在做什麼
在終端機中查看處理程序、磁碟、網路與感測器。
SysMon 加入能顯示 NAS 當下狀況的程式:htop、btop、atop、Glances、iotop、iftop、ncdu、mtr 等,全部都能從 SSH 登入使用。
每個程式都以 Bucket & Code Server IDE 從原始碼編譯。您可以直接安裝套件,也可以修改配方清單,建置自己的版本。
command -v hdparm
/usr/app/SysMon/first/hdparm
hdparm -V
hdparm v9.65
iostat -V | head -1
sysstat version 12.8.0
iperf3 --version | head -1
iperf 3.21 (cJSON 1.7.15)
nmap --version | head -1
Nmap version 7.991 ( https://nmap.org )
btop --version
btop version: 1.3.2
內含項目
配方清單列出這些程式,建置時會加入它們需要的函式庫。
處理程序、處理器與記憶體
- htop
- 互動式處理程序清單
- btop
- 在同一畫面顯示處理器、記憶體、磁碟、網路和處理程序
- atop
- 具長期記錄的處理程序檢視,含 atopsar
- glances
- 以 Python 編寫的系統監視器
- procps
- ps, top, free, vmstat, watch, pgrep, pkill, pmap, slabtop
- sysstat
- iostat, mpstat, pidstat, sar
- psmisc
- pstree, fuser, killall, prtstat
- nmon
- Nigel's performance monitor
磁碟與檔案
- iotop
- 每個處理程序和執行緒的磁碟使用量
- ncdu
- 資料夾裡有什麼佔用空間,依大小排序
- lsof
- 開啟的檔案及持有它們的處理程序
- progress
- cp、mv、dd 和 tar 的進度
- pv
- 資料通過管線的進度、速率和剩餘時間
- smartmontools
- 用於 S.M.A.R.T. 資料的 smartctl 和 smartd
- hdparm
- 讀取並設定 ATA/SATA 磁碟參數,測量讀取速度
- sdparm
- 讀取並變更 SCSI 和 SATA 磁碟的模式頁
- nvme
- nvme-cli:NVMe 磁碟資訊、SMART 和錯誤記錄
- ioping
- 像 ping 一樣逐一請求測量磁碟延遲
- fio
- 彈性 I/O 測試工具
- duf
- 以表格顯示已掛載檔案系統的用量
網路
- iftop
- 每個連線的頻寬
- nload
- 以圖表顯示傳入和傳出流量
- nethogs
- 每個處理程序的頻寬
- bmon
- 頻寬監視器
- vnstat
- 每個介面的流量記錄,含 vnstatd 常駐程式
- mtr
- traceroute 和 ping 合一,逐躍點顯示
- iptraf-ng
- 文字介面的 IP 流量與區域網路統計
- tcpdump
- 擷取並解碼封包
- ethtool
- 顯示和變更網路介面設定
- iperf3
- 測量網路吞吐量
- nmap
- 網路探索與連接埠掃描,附 ncat 和 nping
- iproute2
- ip、ss 和 tc:位址、路由和通訊端
- fping
- 同時 ping 多台主機
- arp-scan
- 以 ARP 尋找區域網路中的主機
- traceroute
- 顯示通往主機途中的路由器
硬體與系統呼叫
- sensors
- lm-sensors:溫度、風扇轉速和電壓
- dmidecode
- 韌體表格:主機板、BIOS、記憶體模組
- lspci
- 含名稱的 PCI 裝置
- lsusb
- 含名稱的 USB 匯流排與裝置
- ipmitool
- 透過網路與伺服器的 BMC 通訊
- strace
- 程式的系統呼叫和訊號
- tmux
- 專案儀表板使用的窗格
實際畫面
安裝 App Center 套件的 QNAP NAS 實際畫面。
適合對象
NAS 感覺變慢了
btop 和 htop 顯示哪個處理程序佔用處理器和記憶體。iotop 顯示哪個處理程序讓磁碟忙碌。
磁碟區快滿了
ncdu 掃描資料夾並依大小排序內容,讓您看出什麼佔用了空間。
您想查看流量
iftop、nload 和 NetHogs 依連線、介面和處理程序顯示流量。mtr 逐躍點追蹤路由。
安裝
- 將本站儲存庫新增至 App Center 一次:三個步驟。
- 在儲存庫清單中找到 (example) SysMon,然後按 安裝。
- 在 控制台 › 網路&檔案服務 › Telnet / SSH 中開啟 SSH。
啟動
SysMon 沒有自己的視窗,要從終端機使用。以 admin 透過 SSH 登入,再以名稱呼叫程式。
ssh admin@192.0.2.10 # 您的 NAS 位址 htop # 處理程序 btop # 所有資訊都在同一畫面 ncdu /share/Public # 這個資料夾裡有什麼佔用空間
須知
- 在您輸入指令的 Shell 中,套件的 hdparm、iostat、lspci 和 free 會先於 QTS 的版本執行,因為 QTS 的版本無法做到這些用途:
hdparm -I、iostat -m、lspci的裝置名稱和free -h。 - iotop、iftop、nethogs、iptraf-ng、tcpdump、mtr 和 smartctl 會讀取只有 root 能讀取的資料。NAS 上的 admin 登入可以執行它們。
- sensors 只列出已載入的核心驅動程式公開的晶片,例如提供 Intel 機型處理器溫度的
coretemp。 - vnStat 只有在常駐程式執行時才會記錄流量。
vnstatd -d會啟動它,NAS 重新啟動時它就會停止。 - iotop 的 SWAPIN 和 IO% 欄位會保持空白,直到您開啟核心的延遲統計:
echo 1 > /proc/sys/kernel/task_delayacct。此設定持續到 NAS 重新啟動。 - QTS 也有的其他名稱仍使用 QTS 的版本,例如 top、ps、lsof、pv 和 ethtool。若要使用套件的版本,請輸入完整路徑,例如
/usr/app/SysMon/bin/top。 - 指令碼、cron 和直接交給 ssh 的指令使用 QTS 的指令。
- 在 QNAP NAS 上,
nc是 QNAP 的 Notification Center 工具。請使用ncat。 - ipmitool 透過網路與伺服器的 BMC 通訊,而大多數 NAS 機型沒有自己的 BMC。
隨時修改,重新建置
SysMon 是 Bucket & Code Server IDE 的範例,這是我們為 QNAP 提供的免費開發環境。它會在您自己的 NAS 上從原始碼編譯每個程式,並將結果打包成 QPKG。
從面板操作
- 在 Bucket & Code 中開啟 應用程式,再開啟 範例 分頁。如果還沒有 Builder 環境,請新增 Ubuntu 24.04 builder (full)。
- 在 SysMon (geek set 2) 上按 使用此範例。應用程式會連同配方一起出現,但尚未建置任何內容。
- 按 建置,再按 啟用。安裝 QDK 工具鏈後,匯出 就能產生 QPKG。
從終端機操作
編輯器專案 SysMon 在 recipes.txt 中保存相同的清單。刪除一行或從配方庫新增配方,然後在編輯器終端機中執行:
make app # 從 recipes.txt 製作應用程式 make build # 建置並追蹤工作 make activate # /usr/app/SysMon 現在指向此建置 make qpkg # 匯出 QPKG (需要 QDK 工具鏈)
專案還有儀表板:make dashboard 會在四個 tmux 窗格中顯示 btop、iotop、iftop 和 nload。它在 make activate 之後執行。
觀看在 Bucket & Code 中的操作
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
YouTube 影片 8 分鐘

