文章目录
linux查看系统资源命令详解
一.引子:
这一篇博文没什么目的,就只是想把最全面的系统资源查看命令总结汇总给大家一起学习。哈哈哈,希望大家有所收获。当然本篇文章主要介绍命令,如果需要具体操作,大家执行–help命令呀。
二.系统资源查看命令详解
1.top(htop:需要安装,相当于top的增强版)
top - 22:34:05 up 40 min, 2 users, load average: 2.04, 1.85, 1.65
Tasks: 109 total, 3 running, 105 sleeping, 1 stopped, 0 zombie
Cpu(s): 63.8%us, 33.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 1.0%hi, 1.9%si, 0.0%st
Mem: 1004136k total, 439820k used, 564316k free, 104712k buffers
Swap: 2031612k total, 0k used, 2031612k free, 219620k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
128517 root 20 0 6240 552 460 R 6.3 0.1 0:00.19 uptime
459 root 20 0 0 0 0 R 4.6 0.0 0:03.70 jbd2/dm-0-8
128498 root 20 0 86196 3584 2704 D 4.0 0.4 0:00.12 abrt-hook-ccpp
3608 root 20 0 102m 5108 3856 S 2.0 0.5 0:46.92 sshd
1289 root 20 0 244m 8480 1112 S 1.7 0.8 0:40.04 rsyslogd
2261 root 20 0 178m 2616 1616 D 1.7 0.3 0:05.31 abrtd
显示参数:
PID(Process ID):进程标示号。
USER:进程所有者的用户名。
PR:进程的优先级别。
NI:进程的优先级别数值。
VIRT:进程占用的虚拟内存值。
RES:进程占用的物理内存值。
SHR:进程使用的共享内存值。
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
%CPU:该进程占用的CPU使用率。
%MEM:该进程占用的物理内存和总内存的百分比。
TIME+:该进程启动后占用的总的CPU时间。
2.free
free命令用来显示内存的使用情况,使用权限是所有用户。
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 995896 135372 322600 7848 537924 665204
Swap: 2097148 0 2097148
3.uptime(查看系统负载)
[root@localhost ~]# uptime
14:36:40 up 1:04, 3 users, load average: 0.32, 0.56, 0.87
现在的时间
系统开机运转到现在经过的时间
连线的使用者数量
最近一分钟,五分钟和十五分钟的系统负载
4.ps aux(查看进程情况)
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.4 0.6 128236 6804 ? Ss 13:32 0:16 /usr/lib/systemd/systemd
root 2 0.0 0.0 0 0 ? S 13:32 0:00 [kthreadd]
root 3 0.2 0.0 0 0 ? S 13:32 0:07 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 13:32 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 13:32 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 13:32 0:00 [rcu_bh]
root 9 1.2 0.0 0 0 ? R 13:32 0:43 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< 13:32 0:00 [lru-add-drain]
root 11 0.2 0.0 0 0 ? S 13:32 0:09 [watchdog/0]
上述各位解释:
USER 进程的属主;
PID 进程的ID;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
VSZ 进程使用的虚拟內存量(KB);
RSS 该进程占用的固定內存量(KB)(驻留中页的数量);
TTY 该进程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。
若为pts/0等,则表示由网络连接主机进程
START 該進程被觸發启动时间;
TIME 該进程實際使用CPU運行的时间;
5.netstat
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 28900 40.40.115.21:ssh 40.40.115.1:56327 ESTABLISHED
tcp 0 52 localhost.localdoma:ssh 10.10.35.1:58463 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 36583 /var/run/chrony/chronyd.sock
unix 3 [ ] DGRAM 8987 /run/systemd/notify
unix 2 [ ] DGRAM 8989 /run/systemd/cgroups-agent
unix 5 [ ] DGRAM 9001 /run/systemd/journal/socket
从整体上看,netstat的输出结果可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
6.iostat(用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量)
[root@localhost ~]# iostat
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 2020年10月27日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
9.47 0.00 19.74 0.06 0.00 70.73
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.33 86.56 71.43 262677 216771
scd0 0.20 16.90 0.00 51272 0
dm-0 4.11 82.43 70.73 250158 214643
dm-1 0.03 0.81 0.00 2460 0
7.lscpu(查看cpu)
[root@localhost ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
座: 1
NUMA 节点: 1
8.lsmod(显示当前内核模块装载的模块)
[root@localhost ~]# lsmod
Module Size Used by
nls_utf8 12557 1
isofs 39844 1
iptable_filter 12810 0
ip_tables 27126 1 iptable_filter
ip_set 45644 0
nfnetlink 14490 1 ip_set
bridge 151336 0
stp 12976 1 bridge
9.vmstat(查看cpu)
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 319976 2512 538720 0 0 94 65 372 315 9 19 71 0 0
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数.
小命令,总结了一下,方便自己的同时大家也可以借鉴,再次提醒,具体操作执行–help.感谢各位查看。