六 Linux:系统运维常用命令

实际的生产环境下 , 不论是研发还是运维 , 或多或少的得面对在linux上定位问题这个关卡 , 这里介绍一下linux环境下一些状态查看常用的命令 。
系统资源监控 优惠券总体资源占用情况查看 命令:top
像一样 , linux也有一个“进程管理” , 可以在命令行执行 top  , 就可以整体的查看当前机器的资源及进程情况 。

六  Linux:系统运维常用命令

文章插图
这里第一行 (top) 显示的信息包含:
系统时间:19:27:01
运行时间:up 54 min,
当前登录用户: 1 user
负载均衡() load : 0.02, 0.03, 0.00
后面的三个数分别是1分钟、5分钟、15分钟的负载情况 。
load 数据是每隔5秒钟检查一次活跃的进程数 , 然后按特定算法计算出的数值 。如果这个数除以逻辑CPU的数量 , 结果高于5的时候就表明系统在超负荷运转了
第二行 (Tasks)显示的当前的进程整体统计
第三行 (%CPU)是CPU状态信息 , 具体为:
0.0%us【user space】— 用户空间占用CPU的百分比 。
0.1%sy【】— 内核空间占用CPU的百分比 。
0.0%ni【】— 改变过优先级的进程占用CPU的百分比
99.9%id【idolt】— 空闲CPU百分比
0.0%wa【wait】— IO等待占用CPU的百分比
0.0%hi【 IRQ】— 硬中断占用CPU的百分比
0.0%si【 】— 软中断占用CPU的百分比
第四行 (KiB Mem)整体内存的状态 , 分别为总量 , 已用 , 空闲 , 缓存
第五行 (KiB Swap)交换区内存
最后是各进程的状况
这里说一下第四行和第五行 , 第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数 , 空闲内存总量(free)是内核还未纳入其管控范围的数量 。
对于内存监控 , 也就是说我们对于内存的监控主要是看第五行swap交换分区的used , 如果这个数值在不断的变化 , 说明内核在不断进行内存和swap的数据交换 , 这是真正的内存不够用了 。
命令:top -p [pid]
除了整体来看 , 我们也可以锁定单个进程的资源情况进行查看 。
例如: top -p 1864
六  Linux:系统运维常用命令

文章插图
详细内容为
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值 。负值表示高优先级 , 正值表示低优先级
VIRT — 进程使用的虚拟内存总量 , 单位kb 。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小 , 单位kb 。RES=CODE+DATA
SHR — 共享内存大小 , 单位kb
S —进程状态 。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计 , 单位1/100秒
— 进程名称(命令名/命令行)
计算机端口关联进程查看
这里也是我们最经常用到的 , 不管是安装新应用 , 还是排查应用的进程情况 , 都需要一个去了解端口是否被占用 , 或者根据端口来拿到一个进程的pid 。
命令:lsof -i: [端口号]
例如:lsof -i:22
六  Linux:系统运维常用命令

文章插图
这里 , 我们以查看22端口被监听的进程为例 , 这一就能得出 , 22这个端口被哪一进程监听 , 从而得到Pid等多个参数 。