Linux性能監(jiān)控與調(diào)優(yōu)方式詳解
一、性能檢測(監(jiān)控)
1. CPU1. CPU 監(jiān)控
命令 | 功能 | 關(guān)鍵參數(shù)/輸出 | 場景 |
|---|---|---|---|
top / htop | 實(shí)時進(jìn)程級 | %CPU(進(jìn)程占用率)、%MEM(內(nèi)存占用率)、Load Average(負(fù)載平均值) | 快速定位高 CPU 進(jìn) |
mpstat -P ALL 1 | 每個核心的 CPU 使用率 | %usr(用戶態(tài))、%sys(內(nèi)核態(tài))、%iowait(I/O 等待) | 多核負(fù)載均衡分析 |
uptime | 系統(tǒng)負(fù)載與運(yùn)行時間 | 11:32:20 up 3:21, 2 users, load average: 0.00, 0.01, 0.05 | 快速查看負(fù)載趨勢 |
perf top | 實(shí)時 CPU 熱點(diǎn)函數(shù)分析 | 按函數(shù)名排序 CPU 占用率 | 深入代碼級 |
說明:
1.top

| 分類 | 具體指標(biāo) | 數(shù)值 / 說明 |
|---|---|---|
| 系統(tǒng)基本信息 | 當(dāng)前時間 | 11:16:47 |
| 開機(jī)時長 | up 3:05(已開機(jī) 3 小時 05 分鐘) | |
| 登錄用戶數(shù) | 2 users | |
| 系統(tǒng)平均負(fù)載 | load average: 0.00, 0.01, 0.05(1 分鐘、5 分鐘、15 分鐘平均負(fù)載) | |
| 任務(wù)(進(jìn)程)統(tǒng)計(jì) | 總進(jìn)程數(shù) | 226 total |
| 運(yùn)行中進(jìn)程數(shù) | 1 running | |
| 休眠進(jìn)程數(shù) | 222 sleeping | |
| 停止進(jìn)程數(shù) | 3 stopped | |
| 僵尸進(jìn)程數(shù) | 0 zombie | |
| CPU 使用率 | 用戶態(tài)(us) | 0.1%(應(yīng)用程序占用 CPU 比例) |
| 內(nèi)核態(tài)(sy) | 0.1%(系統(tǒng)內(nèi)核功能占用 CPU 比例) | |
| 調(diào)整優(yōu)先級的用戶態(tài)(ni) | 0.0% | |
| 空閑(id) | 99.8%(空閑 CPU 比例,越高越空閑) | |
| 等待 I/O(wa) | 0.0%(因等待磁盤、網(wǎng)絡(luò)等 I/O 操作占用 CPU 耗時比例) | |
| 硬件中斷(hi) | 0.0%(處理硬件中斷占用 CPU 耗時比例) | |
| 軟件中斷(si) | 0.0%(處理軟件中斷占用 CPU 耗時比例) | |
| 被虛擬機(jī) “偷走”(st) | 0.0%(虛擬機(jī)場景下,被其他虛擬機(jī)占用的 CPU 時間比例) | |
| 內(nèi)存信息 | 總物理內(nèi)存(KiB Mem total) | 4026372 KiB(約 4GB ) |
| 空閑物理內(nèi)存(free) | 2535540 KiB | |
| 已用物理內(nèi)存(used) | 783396 KiB | |
| 緩存(buff/cache) | 707436 KiB(可被釋放給應(yīng)用的臨時緩存) | |
| 交換分區(qū)信息 | 總交換分區(qū)(KiB Swap total) | 4194300 KiB(約 4GB ) |
| 空閑交換分區(qū)(free) | 4194300 KiB | |
| 已用交換分區(qū)(used) | 0 KiB(未用到磁盤交換,性能較好) | |
| 實(shí)際可用內(nèi)存(avail Mem) | 2899668 KiB(含可回收緩存,體現(xiàn)實(shí)際可用內(nèi)存) | |
| 進(jìn)程詳情 | PID(進(jìn)程 ID) | 10463、12545、1、2 等 |
| USER(所屬用戶) | root(所列進(jìn)程均屬 root 用戶 ) | |
| PR(進(jìn)程優(yōu)先級) | 20(數(shù)值越小優(yōu)先級越高,所列進(jìn)程多為 20 ) | |
| NI(nice 值) | 0(調(diào)整進(jìn)程優(yōu)先級,范圍 -20 ~ 19 ) | |
| VIRT(虛擬內(nèi)存總量) | 如 566636 KiB(vmtoolsd 進(jìn)程)、162012 KiB(top 進(jìn)程 )等 | |
| RES(實(shí)際物理內(nèi)存占用) | 如 25912 KiB(vmtoolsd 進(jìn)程)、2372 KiB(top 進(jìn)程 )等 | |
| SHR(共享內(nèi)存) | 如 19120 KiB(vmtoolsd 進(jìn)程)、1588 KiB(top 進(jìn)程 )等 | |
| S(進(jìn)程狀態(tài)) | S(休眠)、R(運(yùn)行,如 top 進(jìn)程狀態(tài)為 R )等 | |
| % CPU(進(jìn)程 CPU 使用率) | 如 0.3%(vmtoolsd、top 進(jìn)程 )、0.0%(systemd 等進(jìn)程 ) | |
| % MEM(進(jìn)程內(nèi)存使用率) | 如 0.6%(vmtoolsd 進(jìn)程)、0.1%(top 進(jìn)程 )、0.2%(systemd 進(jìn)程 )等 | |
| TIME+(累計(jì) CPU 耗時) | 如 0:13.54(vmtoolsd 進(jìn)程)、0:00.02(top 進(jìn)程 )、0:01.55(systemd 進(jìn)程 )等 | |
| COMMAND(進(jìn)程名稱 / 命令) | vmtoolsd、top、systemd、kthreadd 等 |
2.mpstat -P ALL 1

| 列名 | 全稱 / 含義 | 示例值(以 all 行為例) | 補(bǔ)充說明 |
|---|---|---|---|
| 11:27:17 AM11:27:18 AM | 采樣時間 | 采樣時間戳 | 第一行是 “表頭時間”,后續(xù)是實(shí)際采樣時間 |
| CPU | CPU 標(biāo)識:- all = 所有 CPU 總覽- 0/1 = 單個 CPU 核心編號 | all、0、1 | 你的輸出里還有 2、3 核心(截圖未完整顯示) |
| %usr | 用戶態(tài) CPU 使用率(應(yīng)用程序、腳本等用戶空間程序占用 CPU 比例) | 0.00 | 數(shù)值越高,用戶程序越繁忙 |
| %nice | 調(diào)整過優(yōu)先級(nice 值)的用戶態(tài) CPU 使用率 | 0.00 | 通常為 0(少用優(yōu)先級調(diào)整時) |
| %sys | 內(nèi)核態(tài) CPU 使用率(系統(tǒng)內(nèi)核功能、驅(qū)動等占用 CPU 比例) | 0.25(all 行) | 數(shù)值高可能因內(nèi)核任務(wù)多(如 I/O 調(diào)度) |
| %iowait | CPU 等待 I/O 耗時比例(因磁盤、網(wǎng)絡(luò)等 I/O 阻塞,CPU 空閑等待的時間) | 0.00 | 高值可能表示存儲 / 網(wǎng)絡(luò)性能瓶頸 |
| %irq | 硬件中斷(如鍵盤、磁盤控制器觸發(fā))占用 CPU 比例 | 0.00 | 通常較低,驅(qū)動異常時可能升高 |
| %soft | 軟件中斷(內(nèi)核內(nèi)部觸發(fā)的中斷)占用 CPU 比例 | 0.00 | 同上,異常時需關(guān)注 |
| %steal | 虛擬機(jī)場景下,被宿主機(jī) “偷走” 的 CPU 時間(僅虛擬機(jī)內(nèi)可見) | 0.00 | 物理機(jī)無此損耗,虛擬機(jī)需關(guān)注 |
| %guest | 運(yùn)行虛擬機(jī)客戶機(jī)(如 KVM 虛機(jī))占用的 CPU 比例 | 0.00 | 無虛擬機(jī)時通常為 0 |
| %gnice | 調(diào)整過優(yōu)先級的虛擬機(jī)客戶機(jī) CPU 使用率 | 0.00 | 同上,少用場景為 0 |
| %idle | CPU 空閑比例(完全無任務(wù)時的空閑時間) | 99.75(all 行) |
2. 內(nèi)存監(jiān)控
命令 | 功能 | 關(guān)鍵參數(shù)/輸出 | 場景 |
|---|---|---|---|
free -h | 內(nèi)存使用情況(人類可讀) | available(可用內(nèi)存)、buff/cache(緩存)、used(已用) | **關(guān)鍵指標(biāo):關(guān)鍵指標(biāo):available < 10% 需警惕 |
vmstat 1 5 | 內(nèi)存、進(jìn)程、I/O 綜合統(tǒng)計(jì) | si/so(Swap 交換量)、bi/bo(磁盤r(運(yùn)行隊(duì)列長度 | 內(nèi)存不足或 I/O 瓶頸 |
sar -r 1 5 | 內(nèi)存使用率歷史數(shù)據(jù) | kbmemfree(空閑內(nèi)存)、kbmemused(已用內(nèi)存)、%memused(使用率) | 長 |
1.free -h
| 分類 | 字段 | 含義 & 示例值 | 補(bǔ)充說明 |
|---|---|---|---|
| 內(nèi)存 | total | 總物理內(nèi)存:3.8G | 系統(tǒng)總內(nèi)存約 3.8GB |
| used | 已用內(nèi)存:765M | 實(shí)際被程序占用的內(nèi)存 | |
| free | 空閑內(nèi)存:2.4G | 完全未被使用的 “純空閑” 內(nèi)存 | |
| buff/cache | 緩存內(nèi)存:690M | 用于磁盤緩存(可釋放給程序) | |
| available | 可用內(nèi)存:2.8G | 程序?qū)嶋H可申請的內(nèi)存(含可回收緩存) | |
| 交換分區(qū) | total | 總交換空間:4.0G | 硬盤模擬的 “虛擬內(nèi)存” 總大小 |
| used | 已用交換:0B | 未用到交換分區(qū)(性能好) | |
| free | 空閑交換:4.0G | 交換分區(qū)剩余空間 |
總結(jié):系統(tǒng)物理內(nèi)存充足(總 3.8G,已用僅 765M,可用 2.8G ),且未用到交換分區(qū)(Swap 用 0B ),內(nèi)存狀態(tài)非常健康,無內(nèi)存壓力~
2.vmstat 1 5

3.sar -r 1 5

3. 磁盤 I/O 監(jiān)控
命令 | 功能 | 關(guān)鍵參數(shù)/輸出 | 場景 |
|---|---|---|---|
iostat -dx 1 5 | 磁盤 I/O 性能(擴(kuò)展模式) | %util(設(shè)備繁忙度)、await(I/O 延遲)、r/s(讀請求數(shù))、w/s(寫請求數(shù)) | 瓶頸判斷:%util > 80% 或 await > 20ms |
df -h | 磁盤分區(qū)空間使用率 | Use%(使用率)、Mounted on(掛載點(diǎn)) | 磁盤空間告 |
1.iostat -dx 1 5
| 分類 | 字段 / 列名 | 含義 & 示例值 | 補(bǔ)充說明 |
|---|---|---|---|
| 磁盤設(shè)備 | Device | 磁盤設(shè)備名:scd0、sda | sda 通常是主硬盤,scd0 可能是光驅(qū) |
| I/O 指標(biāo) | tps | 每秒 I/O 操作數(shù):scd0: 0.00sda: 0.44 | 數(shù)值越高,磁盤越繁忙 |
| kB_read/s | 每秒讀數(shù)據(jù)量(kB):scd0: 0.02sda: 15.91 | 讀吞吐量,反映讀性能 | |
| kB_wrtn/s | 每秒寫數(shù)據(jù)量(kB):scd0: 0.00sda: 1.25 | 寫吞吐量,反映寫性能 | |
| 累計(jì)統(tǒng)計(jì) | kB_read | 累計(jì)讀總量(kB):scd0: 1050sda: 676095 | 系統(tǒng)啟動以來的讀總數(shù)據(jù)量 |
| kB_wrtn | 累計(jì)寫總量(kB):scd0: 0sda: 53193 | 系統(tǒng)啟動以來的寫總數(shù)據(jù)量 |
關(guān)鍵結(jié)論:
sda(主硬盤):有一定讀寫活動(tps=0.44、kB_read/s=15.91、kB_wrtn/s=1.25),但整體負(fù)載低,屬于正常使用狀態(tài)。scd0(可能是光驅(qū)):讀寫極少(tps=0.00、kB_wrtn/s=0.00),符合光驅(qū)低使用場景。系統(tǒng)磁盤 I/O 壓力小,無明顯性能瓶頸。
4. 網(wǎng)絡(luò)監(jiān)控
命令 | 功能 | 關(guān)鍵參數(shù)/輸出 | 場景 |
|---|---|---|---|
sar -n DEV 1 5 | 網(wǎng)絡(luò)接口流量統(tǒng)計(jì) | rxkB/s(接收速率)、txkB/s(發(fā)送速率)、rxerr/s(接收錯誤) | 帶寬瓶頸或丟包問題 |
ss -tuln | 監(jiān)聽端口與連接狀態(tài) | LISTEN(監(jiān)聽端口)、ESTAB(已建立連接) | 檢查服務(wù)端口是否正常 |
netstat -s | 網(wǎng)絡(luò)協(xié)議統(tǒng)計(jì)(TCP/UDP/ICMP) | segments retransmitted(TCP 重傳)、packet receive errors(接收錯誤) | 網(wǎng)絡(luò)層問題分析 |
1.sar -n DEV 1 5
2.ss -tuln

3.netstat -s

5. 綜合監(jiān)控工具
工具 | 功能 | 特點(diǎn) |
|---|---|---|
dstat | CPU/內(nèi)存/磁盤/網(wǎng)絡(luò)一體化監(jiān)控 | dstat -tcmndpy(時間+CPU+內(nèi)存+磁盤+網(wǎng)絡(luò)+系統(tǒng)調(diào)用) |
glances | 跨平臺系統(tǒng)監(jiān)控(Web/終端) | 支持插件擴(kuò)展,可監(jiān)控 Docker、傳感器等 |
nmon | 實(shí)時性能監(jiān)控 + 數(shù)據(jù)導(dǎo)出 | 生成 CSV 報告用于長期分析 |
二、性能調(diào)優(yōu)(優(yōu)化)
1. CPU 調(diào)優(yōu)
場景 | 調(diào)優(yōu)策略 | 命令/配置 |
|---|---|---|
進(jìn)程 CPU 綁定 | 減少跨 CPU 核心切換開銷 | taskset -cp 0,1 <PID>(綁定進(jìn)程到核心 0,1) |
中斷親和性 | 分散網(wǎng)卡中斷到不同 CPU 核心 | echo 1 > /proc/irq/<中斷號>/smp_affinity(綁定到 CPU 0) |
CPU 頻率調(diào)節(jié) | 固定高性能模式(省電場景用 ondemand) | cpupower frequency-set -g performance |
減少上下文切換 | 降低線程數(shù)或使用異步 I/O | 優(yōu)化應(yīng)用代碼(如使用 Nginx 的 worker_processes auto) |
2. 內(nèi)存調(diào)優(yōu)
場景 | 調(diào)優(yōu)策略 | 命令/配置 |
|---|---|---|
減少 Swap 使用 | 避免內(nèi)存頻繁交換到磁盤(需確保物理內(nèi)存充足) | sysctl vm.swappiness=10(默認(rèn) 60,0 表示禁用 Swap) |
調(diào)整臟頁回寫 | 減少磁盤寫頻率,提升寫性能 | sysctl vm.dirty_ratio=15(臟頁占比達(dá) 15% 時阻塞寫) |
啟用大頁內(nèi)存 | 減少 TLB Miss(適用于數(shù)據(jù)庫、虛擬化) | echo 2048 > /proc/sys/vm/nr_hugepages(分配 2048 個 2MB 大頁) |
OOM Killer 保護(hù) | 防止關(guān)鍵進(jìn)程被殺 | echo -1000 > /proc/<PID>/oom_score_adj(值越低越不易被殺) |
3. 磁盤 I/O 調(diào)優(yōu)
場景 | 調(diào)優(yōu)策略 | 命令/配置 |
|---|---|---|
更換 I/O 調(diào)度器 | SSD 用 none/mq-deadline,HDD 用 mq-deadline | echo mq-deadline > /sys/block/sda/queue/scheduler |
調(diào)整隊(duì)列深度 | 提高并發(fā) I/O 能力(SSD 可設(shè) 256-1024) | echo 512 > /sys/block/sda/queue/nr_requests |
啟用讀寫預(yù)取 | 提升順序讀寫性能 | echo 1024 > /sys/block/sda/queue/read_ahead_kb(單位 KB) |
文件系統(tǒng)掛載優(yōu)化 | 禁用訪問時間更新、啟用寫回模式 | mount -o noatime,nodiratime,data=writeback /dev/sda1 /mnt |
4. 網(wǎng)絡(luò)調(diào)優(yōu)
場景 | 調(diào)優(yōu)策略 | 命令/配置 |
|---|---|---|
調(diào)整 TCP 緩沖區(qū) | 高帶寬或高延遲網(wǎng)絡(luò)需增大緩沖區(qū) | sysctl net.ipv4.tcp_rmem="4096 87380 16777216"(最小/默認(rèn)/最大接收緩沖區(qū)) |
啟用 BBR 擁塞算法 | 提升高丟包網(wǎng)絡(luò)吞吐量(需內(nèi)核 ≥4.9) | sysctl net.ipv4.tcp_congestion_control=bbr |
連接復(fù)用 | 減少 TIME_WAIT 連接 | sysctl net.ipv4.tcp_tw_reuse=1 |
增大連接跟蹤表 | 高并發(fā)服務(wù)器(如 NAT 網(wǎng)關(guān)) | sysctl net.netfilter.nf_conntrack_max=1000000 |
三、調(diào)優(yōu)實(shí)戰(zhàn)案例
場景:Web 服務(wù)器響應(yīng)緩慢
1.監(jiān)控診斷
top # 發(fā)現(xiàn) CPU 占用 90%,負(fù)載 15(8核機(jī)) vmstat 1 # 顯示 r(運(yùn)行隊(duì)列)>10,so(Swap Out)>0 free -h # available 內(nèi)存僅 500MB(總 16GB)
結(jié)論:CPU 瓶頸 + 內(nèi)存不足導(dǎo)致 Swap。
2.調(diào)優(yōu)措施
2.1 應(yīng)用層
# 優(yōu)化 Nginx 配置(減少 worker 數(shù)) worker_processes auto; worker_connections 512; # 原值 1024
# 優(yōu)化慢 SQL(如添加索引) EXPLAIN SELECT * FROM users WHERE name='Alice';
2.2 內(nèi)核層
sysctl vm.swappiness=10 # 減少 Swap sysctl net.ipv4.tcp_tw_reuse=1 # 復(fù)用 TIME_WAIT 連接
硬件:增加內(nèi)存至 32GB。
3.驗(yàn)證效果
ab -n 10000 -c 100 http://localhost/ # 壓力測試 # 結(jié)果:TPS 從 200 提升至 800,響應(yīng)時間從 500ms 降至 120ms
- 安全第一:生產(chǎn)環(huán)境調(diào)優(yōu)前 務(wù)必備份,
- 單一變量:每次只修改一個參數(shù),避免無法定位問題根源。 3
- 監(jiān)控先行:調(diào)優(yōu)后持續(xù)
sar -u 1 3600記錄 1 小時 CPU)。 4
工具選擇:
- 快速診斷:`
top/vmstat/iostat - 深度分析:
perf/eBPF(bcc-tools) - 長期
Prometheus + Grafana
五、命令速查表
目標(biāo) | 命令 | 輸出關(guān)鍵字 |
|---|---|---|
CPU 瓶頸 | mpstat -P ALL 1 | %usr > 80% 或 %iowait > 20 |
內(nèi)存不足 | free -h | available < 10% 總內(nèi)存 |
磁盤瓶頸 | iostat -dx 1 | %util > 80% 或 `awaitawait > 20ms |
網(wǎng)絡(luò)丟包 | sar -n DEV 1 | rxerr/s > 0 或 rxdrop/s > 0 |
高負(fù)載進(jìn)程 | ps aux --sort=-%cpu | head -10 | 第一列高 CPU 進(jìn) |
Swap 使用 | vmstat 1 | si 或 so 持 |
六、Linux內(nèi)核版本優(yōu)化
linux內(nèi)核優(yōu)化
- 升級內(nèi)核
rpm -ivh kernel-3.10...rpm
- 查看內(nèi)核模塊
/lib/modules
- uname -r 查看內(nèi)核版本
3.10.0-957.el7.x86_64
內(nèi)核版本號由3部分組成
- 3.10.0-957
- 主版本號
- 次版本號:次版本號決定該內(nèi)核是穩(wěn)定版本還是開發(fā)版本 偶數(shù)穩(wěn)定版本 奇數(shù) 開發(fā)版本
- 末版本號(修訂版本號)
查詢模塊
lsmod |grep xfs modinfo xfs
- 加載模塊
modprobe ext4
- 卸載模塊
modprobe -r ext4
- 開啟IP轉(zhuǎn)發(fā)
vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p /etc/sysctl.conf
- 開啟禁ping
vim /etc/sysctl.conf net.ipv4.icmp_echo_ignore_all = 1 sysctl -p /etc/sysctl.conf
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- Linux高并發(fā)場景下的網(wǎng)絡(luò)參數(shù)調(diào)優(yōu)實(shí)戰(zhàn)指南
- jmeter在linux系統(tǒng)下運(yùn)行及本地內(nèi)存調(diào)優(yōu)的方法詳解
- Linux中壓縮、網(wǎng)絡(luò)傳輸與系統(tǒng)監(jiān)控工具的使用完整指南
- Linux中網(wǎng)絡(luò)性能優(yōu)化與監(jiān)控實(shí)戰(zhàn)詳細(xì)指南
- Linux實(shí)現(xiàn)實(shí)時監(jiān)控磁盤空間的命令詳解
- Linux使用vmstat監(jiān)控系統(tǒng)性能的示例方法
相關(guān)文章
centos7下搭建ZooKeeper3.4中間件常用命令小結(jié)
Zookeeper 作為一個分布式的服務(wù)框架,主要用來解決分布式集群中應(yīng)用系統(tǒng)的一致性問題,它能提供基于類似于文件系統(tǒng)的目錄節(jié)點(diǎn)樹方式的數(shù)據(jù)存儲。這篇文章主要介紹了centos7下搭建ZooKeeper3.4中間件常用命令小結(jié),需要的朋友可以參考下2019-07-07
解決生產(chǎn)環(huán)境遇到的curl和yum命令報錯問題
在銀河麒麟V10SP2arm64系統(tǒng)下,升級sshd服務(wù)同時升級了openssl至1.1.1l版本,導(dǎo)致curl和yum命令報錯,分析原因是openssl版本與libcurl.so.4文件不兼容,嘗試修復(fù)無效后,通過重新編譯安裝curl解決問題,建議在升級openssl時謹(jǐn)慎2024-09-09
Linux系統(tǒng)中的firewall-offline-cmd詳解(收藏版)
firewall-offline-cmd 是 firewalld 的一個命令行工具,專門設(shè)計(jì)用于在沒有運(yùn)行 firewalld 服務(wù)的環(huán)境中配置防火墻規(guī)則,這篇文章主要介紹了Linux系統(tǒng)之firewall-offline-cmd詳解,需要的朋友可以參考下2025-06-06
詳解linux下fsevents模塊引起的npm ls報錯解決辦法
這篇文章主要介紹了詳解linux下fsevents模塊引起的npm ls報錯解決辦法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
Linux虛擬機(jī)無網(wǎng)絡(luò)問題的解決方案(yum無法使用)
在下載虛擬機(jī)后,由于網(wǎng)絡(luò)沒有配置好,會遇到?jīng)]網(wǎng)問題,導(dǎo)致yum無法使用,下載不了軟件,當(dāng)我們安裝軟件時出現(xiàn)下面情況:could not retrieve mirrorlist,所以本文給大家介紹了Linux虛擬機(jī)無網(wǎng)絡(luò)問題的解決方案(yum無法使用),需要的朋友可以參考下2024-11-11
linux進(jìn)程監(jiān)控與自動重啟的簡單實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于linux進(jìn)程監(jiān)控與自動重啟的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

