top与free命令详解

top命令

在运维面试中top命令被问到的频率相较于其他命令是比较高的,因为top对运维人员来说太重要了,不仅可以用来查看进程信息、CPU、内存、系统状态等等。运维人员可以据此来进行对系统的维护。

// 在此界面下,使用P 是以CPU的使用情况来进行排序的;M 使以内存的使用情况来进行排序;N 是以PID来进行排序显示;T 是以进程使用时间累计排序显示;k 给某个pid一个信号,用来杀死进程;r 给某个pid重新定制一个nice值(也就是我们常说的优先级);q 是用来退出top的交互模式

// 这个就是top命令输出的内容,有人会感觉很乱,其实top命令可以根据参数来查看你想查看的内容

参数作用
-d指定每两次屏幕信息刷新之间的时间间隔。
-p通过指定监控进程ID来仅仅监控某个进程的状态。
-q该选项将使top没有任何延迟的进行刷新。
-S指定累计模式
-s使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
-i使top不显示任何闲置或者僵尸进程
-c显示整个命令而不只是显示命令名

// 当你在top的交互模式按1时可以监控你每个逻辑CPU的状态

// 按f可以进入此视图,按q可以退出此视图

//按”shift+>”或者”shift+<”可以对"%CPU"进行排序

top命令第一行

// 第一行是任务队列信息

  • 21:50:47 表示的是当前系统时间
  • up 6:26 表示的是当前系统运行了多少时间,格式为,小时:分钟
  • 2 users 表示的是当前系统登录的用户数
  • load average: 0.00, 0.00, 0.00 这个表示系统负载,即任务队列的平均长度。三个值都为1分钟,这三个值越小越好,越小说明系统负载较低,高于5时就说明系统负载严重了。

top命令第二行

// 第二行表示的是系统的进程信息

  • 208 total 表示当前系统的进程总数
  • 1 running 表示当前系统正在运行的进程数量
  • 207 sleeping 表示当前系统睡眠进程的数量
  • 0 stopped 表示当前系统停止的进程数量
  • 0 zombie 表示的是当前系统中的僵尸进程个数

top命令第三行

// 第三行表示的是系统CPU的信息

  • 0.0 us 表示用户空间占用CPU的百分比
  • 0.2 sy 表示的是内核空间占用CPU的百分比
  • 0.0 ni 表示用户进程空间内改变过优先级的进程占用CPU百分比
  • 99.8 id 表示空闲CPU百分比
  • 0.0 wa 表示等待输入输出的CPU时间百分比
  • 0.0 hi 表示硬中断占用CPU的百分比
  • 0.0 si 表示软中断占用CPU的百分比
  • 0.0 st 用于虚拟CPU的情况,表示被虚拟机偷用掉的CPU时间

top命令第四行

// 第四行是系统的内存信息

  • 1800.6 total 表示物理内存总量
  • 1010.9 free 表示空闲内存总量
  • 382.3 used 表示使用物理内存的总量
  • 407.5 buff/cache 表示用作内核缓存的内存量

top命令第五行

// 第五行显示的是系统的交换分区的信息

  • 2092.0 total 表示交换分区的总量
  • 2092.0 free 表示空闲交换区总量
  • 0.0 used 表示使用的交换分区总量
  • 1255.4 avail Mem 代表可以用于进程下一次分配的物理内存数量

top命令第六行

  • PID 表示的是进程的id
  • USER 进程归哪个用户所有
  • PR 表示优先级
  • NI nice值也就是我们所有的优先级,负值的优先级高,正值的优先级比负值低
  • VIRT 进程使用的虚拟内存总量,单位为kb,VIRT=SWAP(交换分区)+RES
  • RES 表示进程使用的、未被换出的物理内存大小,单位为kb。RES=CODE+DATA
  • CODE 表示可执行代码占用的物理内存,单位为kb。
  • SHR 表示共享内存的大小,单位也是kb
  • S 表示进程状态。D=不可中断的睡眠状态;R=运行’;S=睡眠;T=跟踪/停止;Z=僵尸进程
  • %CPU 表示的是上次更新到现在的CPU时间占用百分比
  • %MEM 表示的是进程使用的物理内存百分比
  • TIME+ 表示的是进程使用的CPU时间总计,单位1/100秒
  • COMMAND 表示的是命令名/命令行
  • WCHAN 表示若该进程在睡眠,则显示睡眠中的系统函数名
  • nFLT 页面错误次数
  • nDRT 最后一次写入到现在,被修改过的页面数。

free命令

// free命令是用来查看系统内存的,但是是静态的方式与top命令不太一样。free命令也是运维面试中被问的比较多的一个命令

[root@server ~]# free 
              total        used        free      shared  buff/cache   available
Mem:        1843864      390628     1035936        8888      417300     1286336
Swap:       2142204           0     2142204
  • total 表示的是内存总数,物理内存总数
  • used 已经使用的内存数
  • free 表示空闲的内存数
  • shared 多个进程共享的内存总额
  • buff/cache 缓存内存数

// 内存总数与已使用内存和空闲内存数的关系
total=used+free

还有一个重要点我这里没有但是给大家列出来
-/+ buffers/cache

-buffers/cache:是真正使用的内存数
+buffers/cache:可用的内存数。

-buffers/cache这个其实就是被进程或服务实际使用的内存;而+buffers/cache则是可以使用的内存总数。

参数作用
-b以字节的形式向屏幕输出
-k以kb的形式向屏幕输出
-m以mb的形式向屏幕输出
-g以gibibytes形式向屏幕输出(这个gibibytes我也不太懂)
-h以人类可读的方式向屏幕输出
-l显示详细的低内存和高内存统计信息(简单点就是输出的内容更详细)
-t显示total的总和
-s以每多少秒向屏幕输出-s2,就是每隔两秒向屏幕输出一次
-c打印多少次之后退出,-c3,就是向屏幕打印三次之后就退出
-w解释为范围输出,就是把buff/cache分开进行输出。
-V查看free的版本信息,也可以使用 --version查看

这里我就不演示具体使用了,大家可以自己去试一下,相信自己。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值