Naposledy aktivní 9 months ago

此腳本用於快速檢視 Linux 系統的基本資訊,包括作業系統、CPU、記憶體、檔案描述符、網路設定、TCP 參數、連線追蹤與當前開啟的 TCP 連線狀況,方便系統管理與效能調校。

Revize fc12f7f269c1d31b2e95acb9b46ac0aed09d4f78

README.md Raw
chmod +x system_info.sh
./system_info.sh > system_report.txt
system_info.sh Raw
1#!/bin/bash
2
3echo "===== [ 系統基本資訊 ] ====="
4echo "作業系統: $(lsb_release -d | cut -f2)"
5echo "核心版本: $(uname -r)"
6echo "CPU 型號: $(lscpu | grep 'Model name' | sed 's/Model name:\s*//')"
7echo "CPU 核心數: $(nproc)"
8echo "記憶體狀態:"
9free -h
10
11echo ""
12echo "===== [ 檔案描述符資訊 ] ====="
13echo "當前最大開啟檔案數: $(ulimit -n)"
14echo "系統允許最大開啟檔案數: $(cat /proc/sys/fs/file-max)"
15echo "當前已開啟檔案數量: $(cat /proc/sys/fs/file-nr | awk '{print $1}')"
16
17echo ""
18echo "===== [ 網路設定 ] ====="
19echo "最大接受緩衝區 (rmem_max): $(sysctl -n net.core.rmem_max)"
20echo "最大傳輸緩衝區 (wmem_max): $(sysctl -n net.core.wmem_max)"
21echo "最大網路佇列 (netdev_max_backlog): $(sysctl -n net.core.netdev_max_backlog)"
22echo "最大 socket 連線數 (somaxconn): $(sysctl -n net.core.somaxconn)"
23
24echo ""
25echo "===== [ TCP 設定 ] ====="
26echo "TCP TIME_WAIT 重用: $(sysctl -n net.ipv4.tcp_tw_reuse)"
27echo "TCP FIN_TIMEOUT: $(sysctl -n net.ipv4.tcp_fin_timeout)"
28echo "TCP SYN 佇列長度: $(sysctl -n net.ipv4.tcp_max_syn_backlog)"
29echo "TCP 快速開啟 (Fast Open): $(sysctl -n net.ipv4.tcp_fastopen)"
30echo "TCP 擁塞控制演算法: $(sysctl -n net.ipv4.tcp_congestion_control)"
31
32echo ""
33echo "===== [ 連線追蹤 (Conntrack) 設定 ] ====="
34echo "最大連線追蹤數: $(sysctl -n net.netfilter.nf_conntrack_max)"
35echo "當前連線追蹤數: $(cat /proc/sys/net/netfilter/nf_conntrack_count)"
36
37echo ""
38echo "===== [ 當前開啟的 TCP 連線 ] ====="
39echo "總 TCP 連線數: $(netstat -ant | wc -l)"
40echo "TIME_WAIT 連線數: $(netstat -ant | grep TIME_WAIT | wc -l)"
41echo "ESTABLISHED 連線數: $(netstat -ant | grep ESTABLISHED | wc -l)"
42
43echo ""
44echo "===== [ 目前的 sysctl 設定 ] ====="
45sysctl -a | grep -E 'fs.file-max|net.core.rmem_max|net.core.wmem_max|net.core.netdev_max_backlog|net.core.somaxconn|net.ipv4.tcp_tw_reuse|net.ipv4.tcp_fin_timeout|net.ipv4.tcp_max_syn_backlog|net.ipv4.tcp_fastopen|net.ipv4.tcp_congestion_control|net.netfilter.nf_conntrack_max'
46