#!/bin/bash echo "===== [ 系統基本資訊 ] =====" echo "作業系統: $(lsb_release -d | cut -f2)" echo "核心版本: $(uname -r)" echo "CPU 型號: $(lscpu | grep 'Model name' | sed 's/Model name:\s*//')" echo "CPU 核心數: $(nproc)" echo "記憶體狀態:" free -h echo "" echo "===== [ 檔案描述符資訊 ] =====" echo "當前最大開啟檔案數: $(ulimit -n)" echo "系統允許最大開啟檔案數: $(cat /proc/sys/fs/file-max)" echo "當前已開啟檔案數量: $(awk '{print $1}' /proc/sys/fs/file-nr)" echo "" echo "===== [ 網路設定 ] =====" for param in rmem_max wmem_max netdev_max_backlog somaxconn; do if [ -f "/proc/sys/net/core/$param" ]; then echo "$param: $(sysctl -n net.core.$param)" else echo "$param: [無此參數]" fi done echo "" echo "===== [ TCP 設定 ] =====" echo "TCP TIME_WAIT 重用: $(sysctl -n net.ipv4.tcp_tw_reuse)" echo "TCP FIN_TIMEOUT: $(sysctl -n net.ipv4.tcp_fin_timeout)" echo "TCP SYN 佇列長度: $(sysctl -n net.ipv4.tcp_max_syn_backlog)" echo "TCP 快速開啟 (Fast Open): $(sysctl -n net.ipv4.tcp_fastopen)" echo "TCP 擁塞控制演算法: $(sysctl -n net.ipv4.tcp_congestion_control)" echo "" echo "===== [ 連線追蹤 (Conntrack) 設定 ] =====" echo "最大連線追蹤數: $(sysctl -n net.netfilter.nf_conntrack_max)" echo "當前連線追蹤數: $(cat /proc/sys/net/netfilter/nf_conntrack_count)" echo "" echo "===== [ 當前開啟的 TCP 連線 ] =====" echo "總 TCP 連線數: $(ss -ant | wc -l)" echo "TIME_WAIT 連線數: $(ss -ant | grep TIME-WAIT | wc -l)" echo "ESTABLISHED 連線數: $(ss -ant | grep ESTAB | wc -l)" echo "" echo "===== [ 目前的 sysctl 設定 ] =====" sysctl -a 2>/dev/null | grep -E 'fs.file-max|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'