#ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top
# linux上进程有5种状态:
#1. 运行(正在运行或在运行队列中等待)
#2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
#3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
#4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
#5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
#ps工具标识进程的5种状态码:
#D 不可中断 uninterruptible sleep (usually IO)
#R 运行 runnable (on run queue)
#S 中断 sleeping
#T 停止 traced or stopped
#Z 僵死 a defunct (”zombie”) process
#命令参数:
-A #显示所有进程
a #显示所有进程
-a #显示同一终端下所有进程
c #显示进程真实名称
e #显示环境变量
f #显示进程间的关系
r #显示当前终端运行的进程
-aux #显示所有包含其它使用的进程
#显示当前所有进程环境变量及进程间关系
sunruize02@ubuntu:~/testLinux/x$ ps -ef | head -n 3
#用户 进程ID 父进程ID CPU占用 系统时间 终端名称 进程执行时间 命令名
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Mar24 ? 00:00:07 /sbin/init auto noprompt
root 2 0 0 Mar24 ? 00:00:00 [kthreadd]
#与grep联用查看指定进程
ps -aux | grep apache
这个命令可以快速查看机器的负载情况。在 Linux 系统中,这些数据表示等待 CPU 资源的进程和阻塞在不可中断 IO 进程(进程状态为 D)的数量。这些数据可以让我们对系统资源使用有一个宏观的了解。
命令的输出分别表示 1 分钟、5 分钟、15 分钟的平均负载情况。通过这三个数据,可以了解服务器负载是在趋于紧张还是趋于缓解。
[root@LinServ-1 ~]# uptime -V #显示uptime命令版本信息
procps version 3.2.7
[root@LinServ-1 ~]# uptime
15:31:30 up 127 days, 3:00, 1 user, load average: 0.00, 0.00, 0.00
15:31:30 //系统当前时间
up 127 days, 3:00 //主机已运行时间,时间越大,说明你的机器越稳定。
1 user //用户连接数,是总连接数而不是用户数
load average: 0.00, 0.00, 0.00 // 系统平均负载,统计最近1,5,15分钟的系统平均负载
dmesg | tail //该命令会输出系统日志的最后 10 行。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 780 152348 130108 802164 0 0 7 6 34 89 1 0 99 0 0
#procs
# r:表示运行队列中的进程数,这个值如果长期大于系统CPU个数,说明CPU不足,需要增加CPU
# b:等待资源的进程数
#memory
#swpd:表示切换到内存交换区的内存大小,即虚拟内存已使用的大小(单位KB),如果大于0,表示你的机器物理内存不足,如果不是程序内存泄露的原因,那么该升级内存或者把耗内存的任务迁移到其他机器。
#free:空闲物理内存大小
#buff:用作缓冲的内存大小
#cache:用作缓存的内存大小
#swap
#si:每秒从交换区写到内存的大小
#so:每秒写入交换区的内存大小
#io (现在的Linux版本块的大小为1024bytes)
#bi:每秒读取的块数
#bo:每秒写入的块数
#system
#in:每秒中断数,包括时钟中断。【interrupt】
#cs:每秒上下文切换数。
#CPU
#us:用户进程执行时间(user time)
#sy:系统进程执行时间(system time)
#id:空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
#wa:等待IO时间
top - 03:07:57 up 1 day, 3:02, 1 user, load average: 0.00, 0.00, 0.00
# top命令-当前时间3:07:57,已运行1天3小时,当前1个用户,系统平均负载:前1分钟,前5分钟,前15分钟
Tasks: 242 total, 2 running, 233 sleeping, 7 stopped, 0 zombie
#进程数:一共242个进程数,2个进程正在运行,233个睡眠进程,7个终止进程,0个冻结进程
%Cpu(s): 4.1 us, 2.1 sy, 0.0 ni, 93.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
#CPU占用率:用户进程占用4.1%,系统内核进程占用2.1%,用户进程空间内改变优先级进程占用0.0%
#空闲进程占用93.8%,IO等待占用0.0%,硬中断占用CPU0.0%,软中断占用0.0%
MiB Mem : 1969.8 total, 87.8 free, 920.0 used, 962.0 buff/cache
#物理内存:总量1969.8,空闲物理内存87.8,已使用920,用作缓存的内存962 (1MiB = 2^20 bytes)
MiB Swap: 947.2 total, 947.0 free, 0.3 used. 859.2 avail Mem
#交换区:总量947.2,空闲交换区总量947,已使用交换区0.3,可用交换区总量859.2
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
#进程号 用户 优先级 nice值(越高优先级越低) 占用虚拟内存总量 进程使用的,未被换出的物理内存总量 共享内存大小 进程状态 CPU占用率 内存占用率 从运行开始占用CPU时长 命令名
1492 sunruiz+ 20 0 2676108 190048 86588 S 2.3 9.4 9:20.98 gnome-s+
#命令参数:
-b #以Byte显示内存使用情况
-k #以kb为单位显示内存使用情况
-m #以mb为单位显示内存使用情况
-g #以gb为单位显示内存使用情况
-s<间隔秒数> #持续显示内存
-t #显示内存使用总合
sunruize02@ubuntu:~/testLinux/x$ free
总量 已使用 空闲 共享 缓冲区 可用
total used free shared buff/cache available
#内存
Mem: 2017100 924152 165364 7712 927584 897680
#交换区
Swap: 969960 780 969180
sunruize02@ubuntu:~/testLinux/x$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 902Mi 161Mi 7.0Mi 905Mi 876Mi
Swap: 947Mi 0.0Ki 946Mi
#常用选项
-a #显示所有socket,包括正在监听的
-l #显示有在 Listen (监听) 的服务状态
-n #以网络IP地址代替名称,显示网络连接情形
-p #显示建立相关连接的程序名和PID
-t #显示TCP协议的连接情况
-u #显示UDP协议的连接情况
netstat -at #列出所有TCP连接
netstat -au #列出所有UDP连接
netstat -lnp #查看系统都开启了哪些端口
netstat -an #查看网络连接状况