[それを言うために、それを明確に!]リソース管理--htop、vmstatの、DSTATの3つの軸

内容:
(a)のホテルトップコマンド
コマンドは、vmstat(2)
(C)のpmapコマンド
(4)は、コマンド一見
コマンドDSTAT(5)を


(A)htopのコマンド
(1.1)EPEL(エキストラパッケージ Enterprise Linuxの)はRHELやCentOSのなどなどなど派生ディストリビューション用の高品質なソフトウェアパッケージを提供するために、Fedoraコミュニティプロジェクトによって構築されています。フィットEPEL、Fedoraのと同じでインストールすることができますyumの道をインストール経由して、あなたがそのような今人気のnginxのようにインストールする前にコンパイルするソフトウェアのニーズ、一般的なソフトウェア以上の人気のあるソフトウェアの一部、の多くをインストールすることができ、htopの、ncdu 、vnstatなど、簡単にアップデートをインストールEPELを使用することができます。
(1.2)は、通常いくつかのツールを使用するプロセスの管理には、より一般的には、PSおよびトップですが、CentOSのもhtopの、htopのは、あなたができるLinuxでブラウザのインタラクティブなプロセスであり、私たちのために、より強力なツールを提供しますLinuxのトップコマンドを置き換えるために使用されます。我々は、次の操作に応じて、EPELのaliyunソースをダウンロードすることで、CentOSの7システムを使用しています。
#Cdが/etc/yum.repos.d/カタログに/etc/yum.repos.d/---
#mvの/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d /CentOS-Base.repo.backup---意志のCentOS-Base.repo改名-Base.repo.backup CentOSの
#wgetの-O /etc/yum.repos.d/CentOS-Base.repo HTTP://ミラー.aliyun.com /レポ/ CentOSに-7.repo ---ダウンロードCentOSに-7.repoソース
#wgetの-O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/epel-7.repoソース---ダウンロードEPEL-7の
注:我々はまた、ソースhttps://mirrors.163.com/.help/ 163を使用することができ、または直接インストールによる公式ソース:#RPM -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(1.3)、その後、キャッシュクリーンアップ、およびキャッシュを再確立します。この時点で、私たちは「#yumをrepolist」でYUM状況の現在のシステムのソースを見ることができます。
#ヤム---クリーンアップキャッシュ全てきれい
#YUM makecache ---再構築バッファ
YUMケースの現在のシステムのソースビュー---#YUM repolistを
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
主に図割り当ての利用を達成するために(1.4)CPUを次のようにいくつかの重要な指標は以下のとおりです。私たちの最初のは、CPUのユーザ空間の割合を表し、カーネル空間は、第2のCPUパーセンテージSYによって占有されている第三niはユーザプロセス空間の占領のプロセスの変更の優先順位を表し、表現CPUの割合は、第四のID CPUアイドル率を表し、第五のHIパーセンテージハードウェア割り込みを表し、第Siはソフトウェア割り込みの割合を表し、第七CSは、第八番目のコンテキストスイッチの割合を表しますすべて占有しまった仮想化の割合を表し、第九waは、入力と出力を待っているCPU時間の割合を表しています。
メモリメモリキーインジケータのために測定される:最初VSZ仮想メモリのセットを表し、RSSの第2のセットは、永久的なメモリを表し、そして第三は、SHMは、メモリセットを共有表します。
(1.5)その後、我々は、システム内のホテルトップのパッケージをインストールします。
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(1.6)、我々は、前記左領域、コマンドラインで、インタフェースは、図の出力に4つの領域に分割されるブラウザベースのインターフェイス「#ホテルトップ」に直接開く:表示すべて単一のCPU、物理メモリ、および情報パーティションの交換;右領域:ショータスクの数、スレッド数、平均負荷および接続の実行時情報、プロセス領域:システム内の現在のすべてのプロセスを表示し、操作表示エリア:F10に示す現在のインターフェイスF1をショートカットファンクションキーが定義されました。
#ホテルトップ
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(1.7)インターフェイスのサポートのマウス操作、我々はF1キーを押すか、キーボードの画面上でクリックすることにより、あなたは、ヘルプ情報、CPUの優先度の低い低優先度の中での表示、通常の手段で正常であり、CPU使用率バー、カーネル表現を表示することができますカーネルは、virtualizは、仮想化されたテイクの時間を表しています。緑の中で使用されるメモリバーは、メモリ使用量を表し、紫色のバッファはバッファであり、オレンジ色は、キャッシュバッファを表します。ステータスステータスセクションここで:Rは、ランニングを表し、Sは、睡眠を表し、Tは、追跡または状態を停止し、Zは、ゾンビ状態を表し、Dは、非中断睡眠を表します。
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(1.8)htopの主なインタフェースは、我々が動作するには、次のキーを使用できる場所
のキーU:表示し、指定したユーザー・プロセスの
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
ボタンQ:、終了しますが、最終的にはプログラムhtopの終了することができ
、ボタン、Escキーを:前のステップに戻る
ボタンH:隠しユーザースレッドの
キーKを:隠すカーネルスレッド
スレッドカーソルトラッキング:ボタンF
Mキー:メモリのパーセンテージによれば、対応するMEM%の列ソートするために使用される
キーP:百分率による係るCPU使用率を、対応するCPUの%カラム
キーT:+相当する時間、実行時プロセスによって順序付けコラム
ボタンC:へのプロセスをマークし、このプロセスの子プロセスができ
ボタンA:CPUアフィニティを設定する
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
ボタンUを:選択したすべてのプロセスをキャンセル
キーL:カーソル下のファイルは、プロセスのリストを表示することができます(小文字のL)
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
ボタンS:コール、押し自動的にスクロールし、現在のシステム、システムコールの新世代をリフレッシュするためにF8キーを実行して、すべてのシステムプロセスを表示するカーソル。
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
TキーまたはF5キー:あなたはプロセスツリーの形で様々なプロセス間の親子関係を表示することができます。
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
キーF2:表示情報設定インターフェイス
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
:(1.9)ホテルトップコマンドオプションパラメータは次の通りである
#2 ---ホテルトップ-dセットリフレッシュ時間、秒
#ホテルトップ-uルート---示す指定されたユーザプロセス
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
#ホテルトップ- S TIME ---ソート指定した列
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
#ホテルトップ-C ---なし色セット・インタフェース
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸


(二)vmstat命令
(2.1)vmstat命令是用来报告虚拟内存的统计数据的,vmstat命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。由vmstat命令生成的报告可以用于平衡系统负载活动,系统范围内的这些统计信息都计算出以百分比表示的平均值,或者计算其总和。
(2.2)我们执行vmstat命令后会发现产生了五列的内容,主要包括procs进程,memory内存,swap交换分区,io为块级别的io,system系统包括中断和上下文切换,cpu主要包括用户空间、内核空间、空闲百分比、等待输入输出百分比、被虚拟化分走的百分比。
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(2.3)如果我们希望当前的输出数据能够每2秒动态输出一次,此时我们可以使用“# vmstat 2”命令。而如果我们希望输出数据能够每2秒动态输出一次,并且总共显示3次,此时我们可以使用“# vmstat 2 3”
# vmstat 2---输出数据能够每2秒动态输出一次
# vmstat 2 3---输出数据能够每2秒动态输出一次,并且总共显示3次
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(2.4)每一列的详细含义
(2.4.1)procs进程,如果这个队列非常长,那么等待io的时间很长,io的能力有限。
r:等待运行的进程的个数;CPU上等待运行的任务队列的长度
b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度
(2.4.2)memory内存
swap:交换内存使用量,0表示没有启用交换内存,实际使用的是硬盘容量
free:空闲的物理内存总量
buffer:用于buffer的内存总量
cache:用于cache的内存总量
(2.4.3)swap交换分区,如果我们发现系统有大量的交换分区的使用换进,但是换出的频率不是很频繁那么对我们系统的影响还不是很大,但是如果我们大量的交换分区在换进换出操作,即si与so之间活动的速率非常频繁,这也就意味着我们的物理内存太小,需要扩充内存。
si:数据进入swap中的数据速率(kb/s)
so:数据离开swap的速率(kb/s)
(2.4.4)io
bi:从块设备读入数据到系统的速度(kb/s)
bo:保存数据至块设备的速率(kb/s)
(2.4.5)system
in:interrupts,中断速率
cs:context switch,上下文切换的速率,如果上下文切换的速率太高说明需要运行的进程太多,CPU的性能太弱
(2.4.6)CPU
us:user space,用户空间
sy:system,内核空间
id:idle,空闲CPU百分比
wa:wait,等待输入输出的CPU时间百分比
st:stolen,被虚拟化分走所占用的百分比
(2.5)如果我们需要显示内存统计数据
# vmstat -s
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(2.6)如果我们希望将执行的5行结果保存到test文件中,我们可以使用如下的方式操作。
# vmstat 5 >> test &
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸


(三)pmap命令
(3.1)pmap命令用于报告进程的内存映射关系,是Linux调试及运维的一个很好的工具。命令的语法为“pmap (选项) (参数)”,其中参数一般有如下的种类:
-x:显示扩展格式
-d:显示设备格式
-q:不显示头尾行
-V:显示指定版本
(3.2)我们如果想要查看1号systemd进程的内存映射关系,可以按照如下的方式操作。其中anon表示的是匿名页,stack表示的栈。
# pmap 1---显示systemd进程的内存映射关系
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(3.3)如果我们需要显示更详细的信息,可以使用-x的参数,其中多出来了3列数据,其中RSS表示长度内存集,Dirty表示的是脏数据。当然我们也可以通过查看内核的信息方式实现详细信息的提取,
# pmap -x 1---显示详细格式信息
# cat /proc/1/maps---通过内核查看详细内存映射信息
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸


(四)glances命令
(4.1)glances工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。另外它并不会消耗大量的CPU资源,通常低于百分之二。glances在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。你也可以自己将这个时间间隔更改为更长或更短的数值,glances工具还可以捕获到一个文件,便于以后对报告进行分析和绘制图形,输出文件可以是电子表格的格式(.csv)或者html格式。
(4.2)我们首先将glances命令安装起来。
# yum install glances -y
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(4.3)我们运行glances命令后发现,其中系统中第1个表示的是CPU的相关参数,第2个表示的是内存相关的参数信息,第3个表示的是交换分区的参数信息,第4个表示的是系统在一分钟、五分钟、十五分钟的平均负载情况,第5个表示的是网络的相关交换速率,其中Rx表示接收的,Tx表示发送的,第6个表示的是磁盘的读写速率信息,第7个表示的是挂载的文件系统,其中Used表示的是医用的空间大小,Total表示总的空间大小,其中第8个中VIRT标示的是虚拟内存集、RES表示的是常驻内存集、NI表示nice值、S表示的是状态、“TIME+”表示的是累计时间、IOR/s表示的io读每秒的速率、IOW/s表示的是io写每秒的速率、Command表示的是进程名称
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(4.4)我们需要了解glances命令的帮助信息,我们可以使用按键h获取帮助
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(4.5)glances常用选项
-b:以Byte为单位显示网上数据速率
-d:关闭磁盘I/O模块
-m:关闭mount模块
-n:关闭network模块
-C file:设置配置文件默认是/etc/glances/glances.conf
-e:显示传感器温度
-p PORT:设置运行端口默认是61209
-P password:设置客户端/服务器密码
-t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为2秒,数值许可范围:1~32767
-s:设置glances运行模式为服务器
-h:显示帮助信息
-v:显示版本信息
# glances -1---表示每个CPU都单独显示出来
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(4.6)如果我们希望将输出的文本信息保存到一个我们指定的文件中,则可以使用如下的操作方式,我们需要先安装python-jinja2软件包,然后在指定glances将输出的文本指定到对应的文件中。
# yum install python-jinja2 -y---安装python-jinja2软件包
# glances -f /tmp/ -o HTML---指定glances会输出到/tmp/目录下html格式的文件
# glances -f /tmp/ --export-csv CSV---指定glances会输出到/tmp/目录下csv格式的文件
# yum whatprovides */libreoffice---安装libreoffice的calc工具
# libreoffice --calc %U /tmp/CSV---使用libreoffice的calc工具打开csv格式文件
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(4.7)我们还可以使用C/S模式运行glances命令,其中服务端模式为“glances -s -B IPADDR”,其中IPADDR为本机的某地址用于监听(图3-9),而在客户端模式为“glances -c IPADDR”,其中IPADDR是远程服务器的地址(图3-10)。我们在vms001主机上连接CentOS 7主机后,发现可以正常的显示CentOS 7主机上的glances信息。
# glances -s -B 192.168.26.131---在CentOS 7服务器端主机上执行
# glances -c 192.168.26.131---在vms001客户端主机上执行
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸


(五)dstat命令
(5.1)dstat是一个可以取代vmstat、iostat、netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些额外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障,dstat可以让你实时的看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出,这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Excel生成表格。
(5.2)我们打开dstat命令后,会以动态的效果一直在屏幕上滚动刷新。如果我们希望每隔两秒显示一个批次,一共显示五次,则可以使用下面的方式进行显示。默认情况下dstat的参数自动含有“-cdngy”的参数,分别表示的是“total-cpu-usage”、“dsk/total”、“net/total”、“paging”、“system”。
# dstat 2 5
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(5.3)其中第一个“total-cpu-usage”表示CPU状态,CPU的使用率,这项报告更有趣的部分是显示了用户、系统和空闲部分,这更好的分析了CPU当前的使用状况。如果你看到“wait”一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处于“waits”时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。第二个“dsk/total”表示的是磁盘统计,磁盘的读写操作,这一栏显示磁盘的读、写总数。第三个“net/total”表示的是网络统计,网络设备发送和接收的数据,这一栏显示的网络收、发数据总数。第四个“paging”表示分页统计,系统的分页活动,分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in和page out的值是0。第五个“system”这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较极限时才有意义,这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注,你的服务器一般情况下都会运行一些程序,所以这项总是显示一些数值。
(5.4)dstat命令可跟的常用选项:
-c,--cpu:显示cpu相关信息
# dstat -C 1---显示1号cpu的信息
# dstat -C total---显示所有cpu的信息
-d,--disk:显示磁盘的相关信息
# dstat -D total---显示系统总的磁盘信息
-g:显示page相关的速率数据
-m:Memory的相关统计数据
-n:Interface的相关统计数据
-p:显示process的相关统计数据
-r:显示io请求的相关的统计数据
-s:显示swapped的相关统计数据
-l:显示负载统计量
-t:将当前时间显示在第一行
--tcp:显示tcp状态的统计数据
--udp:显示udp状态的统计数据
--socket:显示网络统计数据
--ipc:进程间通信的相关数据
--top-cpu:显示最占用CPU的进程
--top-mem:显示最占用内存的进程
--top-lantency:显示延迟最大的进程
--fs:显示文件系统统计数据(包括文件总数量和inodes值)
--nocolor:不现实颜色(有时候会用)
--disk-util:显示某一时间磁盘的忙碌状况
--freespace:显示当前磁盘空间使用率
--proc-count:显示正在运行的程序数量
--top-bio:指出块I/O最大的进程
--top-cpu:图形化显示CPU占用最大的进程
--top-io:显示正常I/O最大的进程
--top-mem:显示占用最多内存的进程
(5.5)示例:查看全部内存都有谁在占用
# dstat -g -l -m -s --top-mem
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸
(5.6)示例:显示一些关于CPU资源损耗的数据
# dstat -c -y -l --proc-count --top-cpu
[それを言うために、それを明確に! ]リソース管理--htop、vmstatの、DSTATの3つの軸

—————— 本文至此结束,感谢阅读 ——————

おすすめ

転載: blog.51cto.com/13613726/2460656