关于Linux的监控常用命令的最全整理笔记

如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员

iostat

ostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

#语法:
iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ] 
#一般常用:
 -x 参数:该选项将用于显示和io相关的扩展数据
 -c 参数:用来获取cpu部分状态值
iostat -d -k 1 10         #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2            #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10      #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态
iostat -c 1 10            #获取cpu部分状态值

meminfo

使用 cat 和 grep 命令来显示 meminfo 信息

cat /proc/meminfo

free

使用动态显示内存的使用信息

free

mpstat

查看所有CPU的平均状况信息,而且能够查看特定CPU的信息

mpstat

netstat

netstat 是一个告诉我们系统中所有 tcp/udp/unix socket 连接状态的命令行工具

netstat -a    #使用a 选项可以列出系统中的所有连接
netstat -at   #使用 t选项只列出 tcp 连接
netstat -au   #类似的,使用u 选项只列出udp  连接
netstat -ax   #使用 x 选项只列出 Unix socket 连接
netstat -ap   #使用 p选项可以在列出连接的同时也显示 PID 或者进程名称,而且它还能与其他选项连用
netstat -an   #使用 n 选项可以加快输出,它不会执行任何反向查询(LCTT 译注:这里原文有误),而是直接输出数字。 由于无需查询,因此结果输出会快很多
netstat -l    #使用l 选项只输出监听端口。它不能与 a 选项连用,因为 a 会输出所有端口,
netstat -s    #使用 s 选项输出每个协议的统计信息,包括接收/发送的包数量
netstat -i    #使用 I 选项只显示网卡的统计信息
netstat -g    #使用g 选项输出  IPV4以及IPV6  的多播组信息
netstat -r    #使用 r 输出网络路由信息
netstat -c    #使用 c 选项持续输出结果
netstat -anp | grep 3306  #与grep  连用来过滤出某个端口的连接
netstat -anp | grep 3306 | wc -l  #通过与wc 和 grep 命令连用,可以统计指定端口的连接数量

nmon

Nmon 可以很轻松的监控系统的 CPU、内存、网络、硬盘、文件系统、NFS、高耗进程、资源和 IBM Power 系统的微分区的信息


关于Linux的监控常用命令的最全整理笔记


要运行 nmon,你可以在命令行中启动它,然后选择要监控的子系统,这些子系统都对应有一个快捷键,例如输入 c 可查看 CPU 信息,m用于查看内存,d用来查看磁盘信息等,你也可以使用 -f 命令将 nmon 的执行结果保存到一个 CSV 文件中,便于日后分析

pmap

pmap 命令用来报告每个进程占用内存的详细情况,可用来看是否有进程超支了,该命令需要进程 id 作为参数


关于Linux的监控常用命令的最全整理笔记


用法

#pmap [ -x | -d ] [ -q ] pids...
pmap -V
#选项含义
-x   extended    Show the extended format. 显示扩展格式
-d   device     Show the deviceformat.   显示设备格式
-q   quiet      Do not display some header/footerlines. 不显示头尾行
-V   show version Displays version of program. 显示版本
pmap -d 1

ps

ps 告诉你每个进程占用的内存和 CPU 处理时间


关于Linux的监控常用命令的最全整理笔记

#命令参数:
a  显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c  显示进程的真实名称
-N 反向选择
-e 等于“-A”
e  显示环境变量
f  显示程序间的关系
-H 显示树状结构
r  显示当前终端的进程
T  显示当前终端的所有程序
u  指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程 
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示

pstree

pstree 显示的信息没那么详细,但它以树形结构显示进程之间的依赖关系,包括子进程信息。一旦发现某个进程有问题,你可以使用 kill 来杀掉它


关于Linux的监控常用命令的最全整理笔记

sar

关于Linux的监控常用命令的最全整理笔记

sar 程序是系统监控工具里的瑞士军刀。该程序包含三个工具:sar 用来显示数据,sa1 和 sa2 用来收集数据并保存。sar 可用来显示 CPU 使用率、内存页数据、网络 I/O 和传输统计、进程创建活动和磁盘设备的活动详情。sar 和 nmon 最大的不同就是 sar 更适合用作长期的监控,而 nmon 可以让你快速的了解系统当前状态


strace


关于Linux的监控常用命令的最全整理笔记

strace 经常被认为是程序员调试的工具,但不止如此。它可以记录进程进行系统调用的详情,因此它也是一个非常好的诊断工具,例如你可以使用它来找出某个程序正在打开某个配置文件

strace的最简单的用法就是执行一个指定的命令,在指定的命令结束之后它也就退出了。在命令执行的过程中,strace会记录和解析命令进程的所有系统调用以及这个进程所接收到的所有的信号值。


Strace 也有一个缺陷,但它在跟踪某个进程时会让该进程的性能变得非常差,因此请谨慎使用

tcpdump

根据使用者的定义对网络上的数据包进行截获的包分析工具

tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

可以指定主机,端口或者用户发送的数据包

tcpdump tcp port 23 and host 210.27.48.1
tcpdump -i eth0 dst host hostname
tcpdump host sundown

top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器


关于Linux的监控常用命令的最全整理笔记

使用方式:

#top [-] [d] [p] [q] [c] [C] [S] [s] [n]
参数说明:
d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p:通过指定监控进程ID来仅仅监控某个进程的状态。
q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S:指定累计模式。
s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i:使top不显示任何闲置或者僵死进程。
c:显示整个命令行而不只是显示命令名。
常用命令说明:
Ctrl+L:擦除并且重写屏幕
K:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i:忽略闲置和僵死进程。这是一个开关式命令。
q:退出程序
r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S:切换到累计模式。
s:改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F:从当前显示中添加或者删除项目。
o或者O:改变显示项目的顺序
l:切换显示平均负载和启动时间信息。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据驻留内存大小进行排序。
P:根据CPU使用百分比大小进行排序。
T:根据时间/累计时间进行排序。
W:将当前设置写入~/.toprc文件中。

uptime


关于Linux的监控常用命令的最全整理笔记

#uptime
10:01:30 up 8 days, 11 min,  2 users,  load average: 0.01, 0.09, 0.16
当前服务器时间:    10:01:30
当前服务器运行时长  11 min
当前用户数          2 users
当前的负载均衡      load average  0.01, 0.09, 0.16,
分别取1min,5min,15min的均值

vmstat


关于Linux的监控常用命令的最全整理笔记

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

Wireshark

主要用于捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。

Wireshark之前名为Ethereal(而且现在仍经常这么叫),是tcpdump的同类工具,不过它更为高级,拥有先进得多的协议分析和报告功能。Wireshark既有GUI界面,又有外壳界面。如果你从事专业级的网络管理工作,只能使用ethereal。


关于Linux的监控常用命令的最全整理笔记

展开阅读全文

页面更新:2024-04-19

标签:磁盘   端口   选项   进程   信号   命令   内存   状态   时间   笔记   工具   程序   常用命令   用户   数码   系统   网络   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top