成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 nmon 來排查與監(jiān)控 Linux 系統(tǒng)的性能

系統(tǒng) Linux
Nigel's Monitor (nmon) 是一個(gè)系統(tǒng)性能監(jiān)控工具,其最初由 IBM 為 AIX 操作系統(tǒng)研發(fā),后來被移植到 Linux 中(在多個(gè) CPU 架構(gòu)上運(yùn)行)。

nmon 允許您在一個(gè)簡潔的界面中來監(jiān)控系統(tǒng)的各個(gè)方面,如 CPU 利用率、內(nèi)存、磁盤繁忙度、網(wǎng)絡(luò)利用率等。這是它的一個(gè)主要的好處。假如沒有 nmon,您必須使用專門的監(jiān)控工具,如 top(監(jiān)控進(jìn)程)、iostat(監(jiān)控磁盤)和 ifstat(監(jiān)控網(wǎng)絡(luò))來監(jiān)控各種資源。這其中的每一個(gè)呈現(xiàn)數(shù)據(jù)的方式都是截然不同的。

大約 10 年前,作為 AIX 系統(tǒng)管理員的我第一次使用 nmon。通過使用 nmon,我可以解決一些難以發(fā)現(xiàn)的問題,包括最初的那個(gè)看起來像似網(wǎng)絡(luò)瓶頸的問題。我通過使用 nmon 來同時(shí)檢查多個(gè)資源,之后發(fā)現(xiàn)這是由于打開太多文件導(dǎo)致的一個(gè)應(yīng)用程序問題。

除了為您交互式監(jiān)控系統(tǒng)外,您還可以在批處理模式下使用 nmon 來收集和存儲性能數(shù)據(jù)以供分析。有關(guān)用于 Linux 的 nmon 的更多信息,請參閱該項(xiàng)目的官方網(wǎng)站。

本文著眼于這個(gè)強(qiáng)大的監(jiān)控工具,從安裝它開始。

安裝 nmon

nmon 在許多 Linux 發(fā)行版的默認(rèn)存儲庫中都是可用的。例如,我們可以在 Fedora35 上使用 DNF 來安裝它:

$ sudo dnf -y install nmon

對于紅帽企業(yè)版 Linux 或 CentOS,nmon 在 EPEL(Extra Packages for Enterprise Linux) 的存儲庫中可用。

要安裝 nmon,首先需啟用 EPEL:

$ sudo dnf -y install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo dnf repolist

接下來使用 dnf 安裝 nmon:

$ sudo dnf -y install nmon

現(xiàn)在您已經(jīng)安裝了 nmon,使用它來監(jiān)控您的系統(tǒng)吧!

以交互的方式使用 nmon

安裝完應(yīng)用程序后,您可以運(yùn)行 nmon。之后您會看到一個(gè)包含系統(tǒng)信息和一個(gè)小幫助菜單的初始屏幕,它顯示了您可以按哪些鍵來切換不同的指標(biāo):

$ nmon
┌─16k──[H for help]──Hostname=f35ks01─Refresh= 2secs ─18:04:27────┐
│ │
------------------------------ │
│ _ __ _ __ ___ ___ _ __ For help type H or ... │
| '_ \| '_ ` _ \ / _ \| '_ \ nmon -? - hint │
│| | | | | | | | | (_) | | | | nmon -h - full details │
│|_| |_|_| |_| |_|\___/|_| |_| │
│ To stop nmon type q to Quit │
│------------------------------ │
│ │
│Fedora release 35 (Thirty Five) VERSION="35 (Thirty Five)" │
│Vendor=AuthenticAMD Model=AMD EPYC-Milan Processor │
│MHz=1911.004 bogomips=3822.00 lscpu:CPU=4 Little Endian │
│ProcessorChips=4 PhysicalCores=1 Sockets=4 Cores=1 Thrds=1│
│ VirtualCPUs =4 MHz=0 max=0 min=0 │
│ │
│Use these keys to toggle statistics on/off: │
│ c = CPU l = CPU Long-term - = Faster screen updates│
│ C = " WideView U = Utilisation + = Slower screen updates│
│ m = Memory V = Virtual memory j = File Systems │
│ d = Disks n = Network . = only busy disks/procs│
│ r = Resource N = NFS h = more options │
│ k = Kernel t = Top-processes q = Quit │
│─────────────────────────────────────────────────────────────────│

例如,按 C 鍵會切換為 CPU 利用率顯式:

┌─16k──[H for help]──Hostname=f35ks01─Refresh= 2secs ─18:05:58─┐
│ CPU Utilisation ─────────────────────────────────────────────│
---------------------------+---------------------------------+│
│CPU User% Sys% Wait% Idle|0 |25 |50 |75 100|
1 3.6 17.2 0.0 79.2|Ussssssss> |
2 2.1 6.2 0.0 91.7|Usss > |
3 0.0 1.1 0.0 98.9| > |
4 6.1 17.2 0.0 0.5|UUUssssssss> |
---------------------------+---------------------------------+│
│Avg 3.0 10.3 0.0 86.7|Usssss> |
---------------------------+---------------------------------+│
│──────────────────────────────────────────────────────────────│

按 N 鍵會切換為網(wǎng)絡(luò)顯示,并自動將其堆疊在 CPU 顯示的下方:

┌─16k──[H for help]──Hostname=f35ks01─Refresh= 2secs ─18:17:01─┐
│ CPU Utilisation ─────────────────────────────────────────────│
---------------------------+---------------------------------+│
│CPU User% Sys% Wait% Idle|0 |25 |50 |75 100|
1 2.6 10.3 0.0 87.1|Usssss > |
2 0.0 2.2 0.0 97.8|s > |
3 6.5 11.0 0.0 82.5|UUUsssss> |
4 0.0 0.5 0.0 99.5| > |
---------------------------+---------------------------------+│
│Avg 2.4 5.9 0.0 91.6|Uss > |
---------------------------+---------------------------------+│
│ Network I/O ─────────────────────────────────────────────────│
│I/F Name Recv=KB/s Trans=KB/s p_in p_out in_sz out_sz Peak->..│
│ lo 0.0 0.0 0.0 0.0 0.0 0.0...│
│ enp1s0 0.0 0.0 0.5 0.0 52.0 0.0...│
│ enp7s0 218.6 5923.4 3335.5 9989.68 67.1 607.2...│
│ Network Error Counters ──────────────────────────────────────│
│I/F Name iErrors iDrop iOverrun iFrame oErrors oDrop oOver..│
│ lo 0 0 0 0 0 0 ...│
│ enp1s0 0 34419 0 0 0 0 ...│
│ enp7s0 0 34419 0 0 0 0 ...│
│──────────────────────────────────────────────────────────────│

繼續(xù)按下其他按鍵可在同一個(gè)視圖中堆疊其他指標(biāo)。例如,可使用 D 鍵來顯式磁盤 I/O,可使用 M 鍵來顯式內(nèi)存信息,可使用 T 鍵來顯式Top 進(jìn)程。

除了堆疊新顯示外,您還可以按點(diǎn)(.)鍵僅顯示繁忙的 CPU 和磁盤,也可以 + 和 - 鍵來增加或減少屏幕刷新時(shí)間。使用 H 鍵顯示幫助。

由于您可以隨時(shí)啟用和禁用不同的監(jiān)視器和指標(biāo),所以 nmon 是一個(gè)可幫助您了解系統(tǒng)行為的高度靈活的工具。它還可以通過同時(shí)顯示不同的指標(biāo)來幫助解決問題,通過提供系統(tǒng)的整體視圖以提高您理解問題的能力。

完成后,按 Q 鍵退出并結(jié)束監(jiān)控會話。

收集性能數(shù)據(jù)

除了提供系統(tǒng)的整體交互式視圖外,您還可以在批處理模式下運(yùn)行 nmon,這樣就可以從系統(tǒng)中收集長時(shí)間的性能數(shù)據(jù)以進(jìn)行后驗(yàn)分析。

除了交互模式提供的實(shí)時(shí)指標(biāo)外,此功能還允許您了解系統(tǒng)在較長時(shí)間內(nèi)的行為。這是一項(xiàng)強(qiáng)大的功能,可以通過它進(jìn)行容量規(guī)劃,并有機(jī)會解決難以實(shí)時(shí)發(fā)現(xiàn)的零星問題。

要在批處理模式下運(yùn)行 nmon,請?jiān)趩討?yīng)用程序時(shí)使用標(biāo)志 -f 參數(shù)(它必須是提供的第一個(gè)參數(shù))。默認(rèn)情況下,在一天內(nèi),nmon 每五分鐘收集一次數(shù)據(jù)。您可以用參數(shù) -s 來指定收集間隔和參數(shù) -c 來指定快照數(shù)量。

例如,開啟 nmon 批處理模式,我們想在一小時(shí)內(nèi),每分鐘收集數(shù)據(jù)一次,同時(shí)包括捕獲頂級進(jìn)程 -t,執(zhí)行以下命令:

$ nmon -f -s60 -c60 -t

您的終端提示符將會立即返回,因?yàn)楫?dāng)您執(zhí)行此命令時(shí)應(yīng)用程序正在后臺運(yùn)行。您可以接著使用 ps 命令,然后就可以看到它正在運(yùn)行了:

$ ps -ef | grep nmon
ricardo 1849 1 0 12:27 pts/0 00:00:00 nmon -f -s60 -c60 -t

在批處理模式下,nmon 使用逗號分隔值 (Comma-Separated Value, CSV) 格式將收集的數(shù)據(jù)保存在當(dāng)前目錄中,其擴(kuò)展名為 .nmon:

$ ls -l
total 36
-rw-r--r--. 1 ricardo ricardo 36395 Feb 13 12:28 f35ks01_220213_1227.nmon

由于這是一個(gè) CSV 文件,因此您可以使用其他 Linux 文本操作(命令行)工具對其進(jìn)行處理,或者使用電子表格軟件將其打開,以進(jìn)行進(jìn)一步分析。

$ head f35ks01_220213_1227.nmon
AAA,progname,nmon
AAA,command,nmon -f -s60 -c60 -t
AAA,version,16k
AAA,disks_per_line,150
AAA,max_disks,256,set by -d option
AAA,disks,10,
AAA,host,f35ks01
AAA,user,ricardo
AAA,OS,Linux,5.16.8-200.fc35.x86_64,#1 SMP PREEMPT Tue Feb 8 20:58:59 UTC 2022,x86_64
AAA,runname,f35ks01

除了這些方法之外,nmon 開發(fā)團(tuán)隊(duì)還提供了一個(gè)腳本,該腳本可將這些數(shù)據(jù)轉(zhuǎn)換為 Web 瀏覽器能可視化查看的圖表。接下來我們看看如何做到這一點(diǎn)。

生成圖表

CSV 是一種靈活的格式,它允許您使用電子表格處理軟件等不同的應(yīng)用程序?qū)С觥⒎治龊筒榭催@些數(shù)據(jù)。為了使這個(gè)過程更加容易,nmon 的開發(fā)人員創(chuàng)造了 nmonchart。此 shell 腳本使用 Google Charts(JavaScript)將這些數(shù)據(jù)轉(zhuǎn)換為 HTML,以使其在圖形環(huán)境中可視化數(shù)據(jù)并與之交互。

若要使用 nmoncart,請從 nmon 主頁下載:

$ curl -LO http://sourceforge.net/projects/nmon/files/nmonchart40.tar

然后使用 tar 來提取包的內(nèi)容:

$ mkdir nmonchart
$ tar xvf nmonchart40.tar -C nmonchart

nmonchart 需要使用 ksh(Korn SHell),因此要?jiǎng)?chuàng)建圖表,首先應(yīng)使用 dnf 在您的系統(tǒng)中安裝 ksh:

$ sudo dnf install -y ksh

接下來,使用以下命令轉(zhuǎn)換 .nmon 文件(該文件是在批處理模式下執(zhí)行 nmon 時(shí)創(chuàng)建的):

$ ./nmonchart/nmonchart f35ks01_220213_1227.nmon

該腳本創(chuàng)建一個(gè)與源 .nmon 文件同名的 HTML 文件。或者,您可以將目標(biāo)文件名作為第二個(gè)參數(shù)傳遞給 nmonchart。這是一個(gè)例子:

$ ls -lg
total 4164
-rw-r--r--. 1 ricardo 113822 Feb 14 18:52 f35ks01_220213_1227.html
-rw-r--r--. 1 ricardo 93436 Feb 13 13:26 f35ks01_220213_1227.nmon
drwx------. 2 ricardo 4096 Aug 28 2020 nmonchart

您的系統(tǒng)圖表現(xiàn)已準(zhǔn)備就緒。您的下一步是查看它們。

推薦一個(gè)關(guān)于 bash shell 腳本的書籍————《Bash shell scripting cheat sheet》

可視化性能圖表

nmonchart 為您提供的每個(gè) .nmon 源文件創(chuàng)建一個(gè) HTML 文件,其中嵌入了所需的圖表 JavaScript 庫。如果本地計(jì)算機(jī)上有 HTML 文件,請直接在 Web 瀏覽器中查看它。

您還可以使用 Web 服務(wù)器提供這些文件。我最喜歡的方法之一是在 Podman 容器中使用 Nginx,正如我在將 20 個(gè)單行 Linux 命令添加到您的工具箱中所建議的那樣。

首先,創(chuàng)建一個(gè)目錄并將 HTML 文件移到那里:

$ mkdir html
$ mv f35ks01_220213_1227.html html/

然后,在 8080 端口上使用 Podman 去服務(wù)來自于 Ngnix 的 html 目錄中的內(nèi)容:

$ podman run --rm -v ./html:/usr/share/nginx/html:ro,Z -p 8080:80 -d nginx

如果需要的話,請?jiān)诜?wù)器防火墻上打開 8080 端口以允許流量通過:

$ sudo firewall-cmd --add-port 8080/tcp

然后,為了查看圖標(biāo),請將您的瀏覽器指向您的 URL http://<YOUR_SERVER_IP_ADDR>:8080/f35ks01_220213_1227.html:

單擊屏幕頂部的任何按鈕以查看相應(yīng)的圖表(圖表是交互式的)。您可以放大和縮小以查看更精細(xì)的數(shù)據(jù),或?qū)⑹髽?biāo)懸停在圖表上以查看給定時(shí)間的詳細(xì)數(shù)據(jù)。

總結(jié)

nmon 是一款靈活且功能強(qiáng)大的系統(tǒng)監(jiān)控應(yīng)用程序,它可幫助您更好地了解系統(tǒng),并在出現(xiàn)問題時(shí)及時(shí)地對其進(jìn)行故障排除。它結(jié)合了監(jiān)控能力、整合來自不同系統(tǒng)資源的實(shí)時(shí)數(shù)據(jù)的能力,以及長期性能數(shù)據(jù)收集和分析的能力。這使其成為您的系統(tǒng)管理員的絕佳工具。

責(zé)任編輯:龐桂玉 來源: 運(yùn)維派
相關(guān)推薦

2017-08-11 19:13:01

LinuxNmon系統(tǒng)監(jiān)控工具

2015-12-17 14:32:46

NmonLinux性能

2014-06-18 09:44:05

NmonNmon命令行Linux性能監(jiān)測

2014-08-01 15:04:27

linuxnmon

2019-03-04 10:45:57

Linux Cockp系統(tǒng)性能命令

2020-12-09 10:34:51

htopLinux命令

2019-04-11 08:45:27

2014-05-09 14:33:35

2022-07-26 10:28:00

Linux監(jiān)控命令

2017-03-01 12:19:17

rsync Linux系統(tǒng)

2010-05-07 15:40:18

ibmdwLinux

2016-09-26 13:50:52

Linux系統(tǒng)性能

2010-12-24 13:25:44

Linux性能監(jiān)控CPU

2018-03-05 14:00:19

Linux性能瓶頸命令

2009-11-19 16:04:12

2020-02-27 13:23:30

LinuxGlances監(jiān)控工具

2018-08-13 09:57:15

LinuxFio硬盤性能

2018-01-30 17:35:39

LinuxPythonNmon分析器

2010-05-26 17:39:38

Linux性能監(jiān)控

2011-05-11 17:26:17

Minify
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 久久久久国产精品一区 | 国产精品99久久久久久动医院 | 龙珠z在线观看 | 国产精品亚洲精品日韩已方 | www日本高清视频 | 日韩中文一区 | 一级免费看片 | av成年人网站 | www.天天操.com | 国产精品久久久久久吹潮 | 雨宫琴音一区二区在线 | 日韩欧美三级电影 | 欧美在线观看免费观看视频 | 黑人精品xxx一区一二区 | 久久久毛片 | 国产乱码精品一区二区三区中文 | 中文字幕高清视频 | 人人干免费| 秋霞电影院午夜伦 | 亚洲欧美在线观看 | 一区二区蜜桃 | 中文二区 | 日韩成人中文字幕 | 91精品一区二区三区久久久久久 | 91av小视频 | 日本在线网站 | 精精国产xxxx视频在线野外 | 99re在线观看| 欧美国产日韩一区二区三区 | 人人色视频 | 91免费看片 | 天堂一区 | 久久精品中文 | 国产在线a | 日韩欧美在线不卡 | 久久精品亚洲精品国产欧美 | 国产一卡二卡三卡 | 日韩三级| 国产综合精品一区二区三区 | 亚洲三区视频 | 在线视频亚洲 |