自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

值得收藏!介紹15個(gè)Linux下CPU監(jiān)控工具

系統(tǒng) Linux
top是最常用的查看系統(tǒng)資源使用情況的工具,包括CPU、內(nèi)存等等資源。這里主要關(guān)注CPU資源。

1. top

top是最常用的查看系統(tǒng)資源使用情況的工具,包括CPU、內(nèi)存等等資源。

這里主要關(guān)注CPU資源。

1.1 /proc/loadavg

load average取自/proc/loadavg。 

  1. 9.53 9.12 8.37 3/889 28165 

前三個(gè)數(shù)字是1、5、15分鐘內(nèi)進(jìn)程隊(duì)列中平均進(jìn)程數(shù),包括正在運(yùn)行的進(jìn)程+準(zhǔn)備好等待運(yùn)行的進(jìn)程。

第四個(gè)數(shù)字分子表示正在運(yùn)行的進(jìn)程數(shù),分母是進(jìn)程總數(shù)。

最后一個(gè)數(shù)字是最近運(yùn)行的進(jìn)程ID號(hào)。

其中top取的是/proc/loadavg的前三個(gè)數(shù)。

1.2 top使用

打開(kāi)top,可以指定更新的周期。

輸入H,打開(kāi)隱藏的線程;輸入1,可以顯示單核CPU使用情況。

top -H -b -d 1 -n 200 > top.txt,每個(gè)1秒統(tǒng)計(jì)一次,共200次,顯示線程細(xì)節(jié),并保存到top.txt中。

其中CPU信息對(duì)應(yīng)的含義如下: 

  1. us:user,統(tǒng)計(jì)nice小于等于0的用戶空間進(jìn)程,也即優(yōu)先級(jí)為100~120。  
  2. ni:nice,統(tǒng)計(jì)nice大于0的用戶空間進(jìn)程,也即優(yōu)先級(jí)為121~139。  
  3. sys:system,統(tǒng)計(jì)內(nèi)核態(tài)運(yùn)行時(shí)間,不包括中斷。  
  4. id:idle,幾系統(tǒng)處于空閑態(tài)。  
  5. wa:iowait,統(tǒng)計(jì)io等待時(shí)間。  
  6. hi:hardware interrupt,統(tǒng)計(jì)硬件中斷時(shí)間。  
  7. si:software interrupt,統(tǒng)計(jì)軟中斷時(shí)間。  
  8. st:steal 

2. perf

這里重點(diǎn)關(guān)注CPU占用率。

通過(guò)sudo perf top -s comm,可以查看當(dāng)前系統(tǒng)運(yùn)行進(jìn)程占比。

這里不像top一樣區(qū)分idle、system、user,這里的占比是各個(gè)進(jìn)程在總運(yùn)行時(shí)間里面占比。

通過(guò)sudo perf record記錄采樣信息,然后通過(guò)sudo perf report -s comm。

3. sar和ksar

sar是System Activity Report的意思,可以用于實(shí)時(shí)觀察當(dāng)前系統(tǒng)活動(dòng),也可以生成歷史記錄的報(bào)告。

要使用sar需要安裝sudo apt install sysstat,然后對(duì)sysstat進(jìn)行配置。

sar用于記錄統(tǒng)計(jì)信息,ksar用于將記錄的信息圖形化輸出。

ksar下載地址在:https://github.com/vlsi/ksar/releases。 

  1. # 將 ENABLED=“false“ 改為ENABLED=“true“  
  2. $ sudo gedit /etc/  
  3. default  
  4. /sysstat  
  5. # 修改sar的周期等配置  
  6. $ sudo gedit /etc/cron.d/sysstat 
  7. # 重啟sar服務(wù)  
  8. $ sudo /etc/init.d/sysstat restart  
  9. # sar log存放目錄  
  10. $ ls -l /  
  11. var  
  12. /log/sysstat/ 

使用sar記錄開(kāi)機(jī)到目前的統(tǒng)計(jì)信息到文件sar.txt。 

  1. LC_ALL=C sar -A > sar.txt 

PS:這里直接使用sar -A,在ksar中無(wú)法正常顯示。

如下執(zhí)行java -jar ksar.jar,然后Data->Load from text file...選擇保存的sar.txt文件。

得到如下的圖表。

還可以通過(guò)sar記錄一段時(shí)間的信息,指定采樣周期和采樣次數(shù)。

這些命令前加上LC_ALL=C之后保存到文件中,都可以在ksar中圖形化顯示。 

  1. sar 1 100-----------------所有cpu合一的統(tǒng)計(jì)信息  
  2. sar -P ALL 1 100--------包括cpu合一以及單個(gè)cpu的統(tǒng)計(jì)信息  
  3. sar -B 1 100---------------paging統(tǒng)計(jì)信息  
  4. sar -b 1 100---------------塊設(shè)備IO統(tǒng)計(jì)信息  
  5. sar -d 1 100---------------塊設(shè)備活動(dòng)統(tǒng)計(jì)信息  
  6. sar -F 1 100----------------掛載的文件系統(tǒng)統(tǒng)計(jì)信息  
  7. sar -r ALL------------------ 顯示詳細(xì)的內(nèi)存使用統(tǒng)計(jì)信息  
  8. sar -S ------------------------顯示swap空間使用情況統(tǒng)計(jì)信息  
  9. sar -w----------------------- 顯示進(jìn)程創(chuàng)建以及進(jìn)程切換統(tǒng)計(jì)信息  
  10. sar -W-----------------------顯示swap換入換出統(tǒng)計(jì)信息。 

4. mpstat

mpstat是Multiprocessor Statistics。當(dāng)沒(méi)有參數(shù)時(shí),mpstat顯示系統(tǒng)系統(tǒng)以來(lái)所有信息平均值。

常見(jiàn)用法如下,-P ALL監(jiān)控所有CPU,細(xì)節(jié)顯示特定CPU;10表示每10秒監(jiān)控一次;20表示監(jiān)控20次 

  1. $ mpstat -P ALL 10 20 

結(jié)果如下:

usr表示用戶空間進(jìn)程,nice表示nice值大于0的用戶空間進(jìn)程。

sys是內(nèi)核空間,iowait是I/O等待時(shí)間,irq是硬中斷,soft是軟中斷,idle是空閑時(shí)間,guest和gnice都是虛擬機(jī)時(shí)間。

5. uptime

uptime是一個(gè)簡(jiǎn)單獲取系統(tǒng)總共運(yùn)行多長(zhǎng)時(shí)間,以及最近1分鐘、5分鐘、15分鐘的平均負(fù)載。

uptime通過(guò)/proc/uptime和/proc/loadavg獲取相關(guān)信息。

up前是當(dāng)前系統(tǒng)時(shí)間,up后是系統(tǒng)運(yùn)行時(shí)長(zhǎng)。

load average后是1分鐘、5分鐘、15分鐘平均負(fù)載。 

  1. 11:15:41 up 82 days, 20:34, 8 users, load average: 0.28, 0.40, 0.43 

6. vmstat

vmstat主要用于監(jiān)控系統(tǒng)內(nèi)存使用情況的工具,但是也包含一些CPU相關(guān)信息。

使用方法vmstat 5 5表示運(yùn)行5次,每次5秒。結(jié)果如下: 

  1. procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----  
  2.  r b   swpd free buff cache si so    bi bo   in cs us sy id wa st  
  3. 1  0 472576 228688 559092 1061756    0    0     9    39    1    0  8  4 87  0  0  
  4. 1  0 472576 228184 559100 1061756    0    0     0    13 1532 3395 10  6 84  0  0  
  5. 1  0 472576 229308 559100 1061616    0    0     0     0 1446 3449 10  5 85  0  0  
  6. 0  0 472576 229592 559108 1061616    0    0     0     6 1419 3474 10  5 85  0  0  
  7. 1  0 472576 229804 559108 1061616    0    0     0     0 1446 3439 10  5 85  0  0 

上面的參數(shù)可以分為6大部分:進(jìn)程、內(nèi)存、swap、io、中斷和進(jìn)程切換、cpu。

更加詳細(xì)的解釋?zhuān)?/p>

7. pidstat

pidstat主要用于監(jiān)控全部或指定進(jìn)程占用系統(tǒng)資源的情況。

7.1 查看CPU使用情況

pidstat首次運(yùn)行時(shí)顯示自系統(tǒng)啟動(dòng)開(kāi)始的各項(xiàng)統(tǒng)計(jì)信息,之后運(yùn)行pidstat將顯示自上次運(yùn)行該命令以后的統(tǒng)計(jì)信息。用戶可以通過(guò)指定統(tǒng)計(jì)的次數(shù)和時(shí)間來(lái)獲得所需的統(tǒng)計(jì)信息。 

  1. # 顯示所有的進(jìn)程統(tǒng)計(jì)信息,包括idle進(jìn)程。  
  2. pidstat -p ALL  
  3. # 更加詳細(xì)的顯示了線程統(tǒng)計(jì)信息。  
  4. pidstat -p ALL -t  
  5. # 周期采樣和采樣次數(shù)  
  6. pidstat [option] interval [count] 

除此之外還可以通過(guò)-p獲取指定進(jìn)程的統(tǒng)計(jì)信息。

pidstat還可以通過(guò)-r獲取內(nèi)存使用統(tǒng)計(jì)信息,通過(guò)-d獲取IO使用統(tǒng)計(jì)信息。

7.2 查看內(nèi)存使用情況

pidstat -p ALL -r結(jié)果如下: 

  1. 15時(shí)18分21秒 UID    PID  minflt/s  majflt/s  VSZ   RSS   %MEM  Command  
  2. 15時(shí)18分21秒 0     1    0.02    0.00  185316   3028  0.08  systemd  
  3. 15時(shí)18分21秒 0     2    0.00    0.00    0    0   0.00  kthreadd  
  4. 15時(shí)18分21秒 0     4    0.00    0.00    0    0   0.00  kworker/0:0H  
  5. 15時(shí)18分21秒 0     6    0.00    0.00    0    0   0.00  mm_percpu_wq  
  6. 15時(shí)18分21秒 0      7    0.00    0.00    0    0   0.00  ksoftirqd/0  
  7. 15時(shí)18分21秒 0     8    0.00    0.00    0    0   0.00  rcu_sched 

minflt/s: 每秒次缺頁(yè)錯(cuò)誤次數(shù)(minor page faults),次缺頁(yè)錯(cuò)誤次數(shù)意即虛擬內(nèi)存地址映射成物理內(nèi)存地址產(chǎn)生的page fault次數(shù)。

majflt/s: 每秒主缺頁(yè)錯(cuò)誤次數(shù)(major page faults),當(dāng)虛擬內(nèi)存地址映射成物理內(nèi)存地址時(shí),相應(yīng)的page在swap中,這樣的page fault為major page fault,一般在內(nèi)存使用緊張時(shí)產(chǎn)生。

VSZ: 該進(jìn)程使用的虛擬內(nèi)存(以kB為單位)。

RSS: 該進(jìn)程使用的物理內(nèi)存(以kB為單位)。

%MEM: 該進(jìn)程使用內(nèi)存的百分比。

Command: 拉起進(jìn)程對(duì)應(yīng)的命令。

7.3 查看磁盤(pán)使用情況

pidstat -p ALL -d結(jié)果如下: 

  1. 15時(shí)20分40秒 UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command  
  2. 15時(shí)20分40秒 0         1     -1.00     -1.00     -1.00 243523129  systemd  
  3. 15時(shí)20分40秒 0         2     -1.00     -1.00     -1.00       0  kthreadd  
  4. 15時(shí)20分40秒 0         4     -1.00     -1.00     -1.00       0  kworker/0:0H  
  5. 15時(shí)20分40秒 0         6     -1.00     -1.00     -1.00       0  mm_percpu_wq  
  6. 15時(shí)20分40秒 0         7     -1.00     -1.00     -1.00 714512328679  ksoftirqd/0  
  7. 15時(shí)20分40秒 0         8     -1.00     -1.00     -1.00 417757303594  rcu_sched 
  •  kB_rd/s: 每秒進(jìn)程從磁盤(pán)讀取的數(shù)據(jù)量(以kB為單位)。
  •  kB_wr/s: 每秒進(jìn)程向磁盤(pán)寫(xiě)的數(shù)據(jù)量(以kB為單位)。
  •  kB_ccwr/s:每秒進(jìn)程被取消向磁盤(pán)寫(xiě)的數(shù)據(jù)量(以kB為單位)。
  •  Command::拉起進(jìn)程對(duì)應(yīng)的命令。

8. time

time命令可以被用于統(tǒng)計(jì)指定程序的CPU耗時(shí)。

比如time cksum nomachine_6.0.80_1.exe得到如下結(jié)果。 

  1. 2401940638 32606752 nomachine_6.0.80_1.exe  
  2. # 整個(gè)操作總耗時(shí),00.263-0.094-0.011=0.158是IO等待耗時(shí)。  
  3. real    0m0.263s  
  4. # 用戶態(tài)耗時(shí)  
  5. user 0m0.094s  
  6. # 內(nèi)核態(tài)耗時(shí)  
  7. sys 0m0.011s  
  8. 2401940638 32606752 nomachine_6.0.80_1.exe  
  9. # 第二次執(zhí)行就可以看出等待IO操作的時(shí)間基本上沒(méi)有了。  
  10. real    0m0.098s  
  11. user 0m0.097s  
  12. sys 0m0.000s 

9. cpustat

通過(guò)sudo apt install cpustat安裝,cpustat -T -D -x結(jié)果如下。 

  1. # 顯示Load Avg信息和平均頻率等  
  2. Load Avg 0.66 0.54 0.49, Freq Avg. 1.46 GHz, 4 CPUs online  
  3. # 進(jìn)程切換次數(shù)、硬中斷、軟中斷等等統(tǒng)計(jì)信息。  
  4. # CPU占用率、用戶空間和內(nèi)核空間占用率等。  
  5. 3791.1 Ctxt/s, 1709.9 IRQ/s, 1800.0 softIRQ/s, 0.0 new tasks/s, 1 running, 0 blocked  
  6.   %CPU %USR %SYS PID S CPU Time Task  
  7. 25.74  25.74   0.00 11435 R 3  2.29w /usr/bin/python3  
  8. 15.84  15.84   0.00  9445 S 0  1.49w /usr/lib/xorg/Xorg  
  9. 10.89   9.90   0.99  2722 S 1  1.05w compiz  
  10. 7.92   0.00   7.92 32352 S 2 16.60s [kworker/2:1]  
  11. 0.99   0.00   0.99 32397 R 1  0.01s cpustat  
  12. 0.99   0.99   0.00 11046 S 2 16.20h compiz  
  13. 0.99   0.99   0.00  1317 S 0  8.76h /usr/NX/bin/nxnode.bin  
  14. 0.99   0.00   0.99 10293 S 1  1.24m [kworker/1:2]  
  15. 64.36  53.47  10.89 Total  
  16. Load Avg 0.66 0.54 0.49, Freq Avg. 1.75 GHz, 4 CPUs online  
  17. 2834.8 Ctxt/s, 1190.9 IRQ/s, 1183.3 softIRQ/s, 0.0 new tasks/s, 4 running, 0 blocked  
  18.   %CPU %USR %SYS PID S CPU Time Task  
  19. 25.76  25.76   0.00 11435 R 3  2.29w /usr/bin/python3  
  20. 18.18  18.18   0.00  9445 S 0  1.49w /usr/lib/xorg/Xorg  
  21. 7.58   7.58   0.00  2722 S 1  1.05w compiz  
  22. 6.06   0.00   6.06 32352 S 2 16.64s [kworker/2:1]  
  23. 1.52   0.00   1.52 32397 R 1  0.02s cpustat  
  24. 1.52   0.00   1.52     8 S 0  3.00h [rcu_sched]  
  25. 1.52   0.00   1.52 18409 S 0  1.16m update-notifier  
  26. 62.12  51.52  10.61 Total  
  27. Distribution of CPU utilisation (per Task):  
  28. % CPU Utilisation Count (%)  
  29. 0.00 - 1.97       706  98.88  
  30. 1.97 - 3.94         0   0.00  
  31. 3.94 - 5.91         0   0.00  
  32. 5.91 - 7.88         2   0.28  
  33. 7.88 - 9.85         0   0.00  
  34. 9.85 - 11.82         0   0.00  
  35. 11.82 - 13.79         1   0.14  
  36. 13.79 - 15.76         0   0.00  
  37. 15.76 - 17.73         1   0.14  
  38. 17.73 - 19.70         1   0.14  
  39. 19.70 - 21.67         0   0.00  
  40. 21.67 - 23.64         0   0.00  
  41. 23.64 - 25.61         2   0.28  
  42. 25.61 - 27.57         0   0.00  
  43. 27.58 - 29.54         0   0.00  
  44. 29.55 - 31.51         0   0.00  
  45. 31.52 - 33.48         0   0.00  
  46. 33.48 - 35.45         0   0.00  
  47. 35.45 - 37.42         0   0.00  
  48. 37.42 - 39.39         1   0.14  
  49. Distribution of CPU utilisation (per CPU):----------------------------------------------各CPU占用率,分用戶空間和內(nèi)核空間。  
  50.  CPU# USR% SYS%  
  51. 0  17.37   1.20  
  52. 1   8.98   2.40  
  53. 2   0.60   7.19  
  54. 3  25.75   0.00 

10. htop

htop和top的功能類(lèi)似,但是可讀性比top更好。在界面按下F5,可以看到進(jìn)程里面的線程,樹(shù)形結(jié)構(gòu)表示了父子關(guān)系。

11. atop

atop是一個(gè)監(jiān)控系統(tǒng)資源和進(jìn)程的工具。它通過(guò)CPU使用率來(lái)對(duì)列表中的進(jìn)程進(jìn)行降序排列,而每一個(gè)進(jìn)程則包含了CPU、內(nèi)存、磁盤(pán)和網(wǎng)絡(luò)狀態(tài)等信息。它的功能與top和htop類(lèi)似。

12. glances

glances是一個(gè)由python編寫(xiě)的,與Nmon功能類(lèi)似的報(bào)告工具,它能夠報(bào)告統(tǒng)計(jì)cpu、內(nèi)存、網(wǎng)絡(luò)、磁盤(pán)和進(jìn)程。除了報(bào)告統(tǒng)計(jì),glances不支持任何其他特性或功能。當(dāng)程序運(yùn)行時(shí)點(diǎn)擊“h”可以顯示幫助頁(yè)面。

13. nmon

Nmon是一個(gè)非常容易使用,能夠在一個(gè)屏幕上監(jiān)視CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤(pán)使用狀況和進(jìn)程列表的工具。除了無(wú)法管理進(jìn)程和修改報(bào)告顯示,Nmon與那些只用于報(bào)告的報(bào)告工具完全一樣。另外,它可以將數(shù)據(jù)保存到電子表格文件。

14. pcp-gui

Performance Co-Pilot,簡(jiǎn)稱(chēng)PCP,是一個(gè)系統(tǒng)性能和分析框架。它從多個(gè)主機(jī)整理數(shù)據(jù)并實(shí)時(shí)的分析,幫你識(shí)別不正常的表現(xiàn)模式。它也提供API讓你設(shè)計(jì)自己的監(jiān)控和報(bào)告解決方案。

安裝pcp相關(guān)工具。 

  1. $ sudo apt install pcp pcp-gui 

File->Open View選擇需要打開(kāi)的視圖,比如CPU、Disk、Memory等。

15. collectl和colplot

15.1 collectl使用

collectl是一款非常優(yōu)秀并且有著豐富的命令行功能的實(shí)用程序,你可以用它來(lái)采集描述當(dāng)前系統(tǒng)狀態(tài)的性能數(shù)據(jù)。

不同于大多數(shù)其它的系統(tǒng)監(jiān)控工具,collectl 并非僅局限于有限的系統(tǒng)度量,相反,它可以收集許多不同類(lèi)型系統(tǒng)資源的相關(guān)信息,如 cpu 、disk、memory 、network 、sockets 、 tcp 、inodes 、infiniband 、 lustre 、memory、nfs、processes、quadrics、slabs和buddyinfo等。

同時(shí)collectl還可以替代常用工具,比如top、vmstat、ps、iotop等。

安裝collectl: 

  1. sudo apt-get install collectl 

collectl的使用很簡(jiǎn)單,默認(rèn)collectl顯示cpu、磁盤(pán)、網(wǎng)絡(luò)信息。

collectl還可以顯示更多的子系統(tǒng)信息,如果選項(xiàng)存在對(duì)應(yīng)的大寫(xiě)選項(xiàng),大寫(xiě)選項(xiàng)表示更細(xì)節(jié)的設(shè)備統(tǒng)計(jì)信息。 

  1. b – buddy info (內(nèi)存碎片)  
  2. c – 所有CPU的合一統(tǒng)計(jì)信息;C - 單個(gè)CPU的統(tǒng)計(jì)信息。  
  3. d – 整個(gè)文件系統(tǒng)Disk合一統(tǒng)計(jì)信息;C - 單個(gè)磁盤(pán)的統(tǒng)計(jì)信息。  
  4. f – NFS V3 Data  
  5. i – Inode and File System  
  6. j – 顯示每個(gè)CPU的Interrupts觸發(fā)情況;J - 顯示每個(gè)中斷詳細(xì)觸發(fā)情況。  
  7. l – Lustre  
  8. m – 顯示整個(gè)系統(tǒng)Memory使用情況;M - 按node顯示內(nèi)存使用情況。  
  9. n – 顯示整個(gè)系統(tǒng)的Networks使用情況;N - 分網(wǎng)卡顯示網(wǎng)絡(luò)使用情況。  
  10. s – Sockets  
  11. t – TCP  
  12. x – Interconnect  
  13. y – 對(duì)系統(tǒng)所有Slabs (系統(tǒng)對(duì)象緩存)使用統(tǒng)計(jì)信息;Y - 每個(gè)slab使用的詳細(xì)信息。 

collectl --all顯示所有子系統(tǒng)的統(tǒng)計(jì)信息,包括cpu、終端、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò)、TCP、socket、文件系統(tǒng)、NFS。

collectl --top可以代替top命令:

collectl --vmstat可以代替vmstat命令:

collectl -c1 -sZ -i:1可以代替ps命令。

collectl和一些處理分析數(shù)據(jù)工具(比如colmux、colgui、colplot)結(jié)合能提供可視化圖形。

15.2 colplot使用

colplot是collectl工具集的一部分,其將collectl收集的數(shù)據(jù)在瀏覽器中圖形化展示。

colplot的介紹(http://collectl-utils.sourceforge.net/colplot.html),相關(guān)源碼可以再collectl-utils]下載:https://sourceforge.net/projects/collectl-utils/files/

解壓下載的colplot之后,sudo ./INSTALL安裝colplot。

安裝之后重啟apache服務(wù): 

  1. $suod systemctl reload apache2  
  2. $sudo systemctl restart apache2 

在瀏覽器中輸入http://127.0.0.1/colplot/,即可使用colplot。

通過(guò)Change Dir選擇存放經(jīng)過(guò)collectl -P保存的數(shù)據(jù),然后設(shè)置Plot細(xì)節(jié)、顯示那些子系統(tǒng)、plot大小等等。

最后Generate Plot查看結(jié)果。

    

 

責(zé)任編輯:龐桂玉 來(lái)源: 民工哥技術(shù)之路
相關(guān)推薦

2020-06-24 16:20:02

LinuxCPU監(jiān)控工具

2014-12-19 10:55:17

Linux性能監(jiān)控

2019-02-26 09:14:02

SSD狀態(tài)監(jiān)控

2019-02-26 15:17:15

工具性能數(shù)據(jù)

2024-03-20 10:59:37

開(kāi)源

2018-12-24 12:54:49

2024-03-27 14:32:47

圖像標(biāo)注開(kāi)源機(jī)器學(xué)習(xí)

2025-03-27 08:11:17

2019-09-16 14:18:21

Docker中央處理器軟件

2017-01-03 17:51:21

AndroidViewHolder工具類(lèi)

2019-12-25 08:40:46

5G協(xié)議網(wǎng)絡(luò)

2019-09-26 08:59:39

DockerGoogle軟件

2010-06-11 11:15:33

Linux編程工具

2021-05-02 23:08:48

電腦網(wǎng)站黑科技

2019-04-22 15:00:05

CSS前端開(kāi)發(fā)

2015-12-02 11:05:48

2013-07-22 10:01:03

JavascriptWeb

2017-03-23 10:21:57

CSS3動(dòng)效庫(kù)前端

2020-11-27 15:00:22

Kubernetes程序工具

2012-03-02 14:20:46

JavaJVM
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)