【Linux】free-top-ps

可通过目录前往不同内容


【free】

1.free命令是什么?
  • 是用来显示系统内存的使用情况的
2.相关参数?
  • -m 以M显示
[root@tong ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1883496      615224      159864         336     1108408     1100888
Swap:             0           0           0
[root@tong ~]# free -m                 //以M显示
              total        used        free      shared  buff/cache   available
Mem:           1839         600         156           0        1082        1075
Swap:             0           0           0
3.详解

[Mem区]

  • total 指系统总物理内存
  • used 使用的物理内存大小
  • free 指未使用的物理内存大小
  • shared 共享的物理内存大小
  • buff/cache 首先buff 表示buffer cache 缓冲区,是把磁盘上的块直接搬到内存中(块是操作系统中文件系统的最小寻址单元,当一个块被调入内存时,它要存储在一个缓冲区中,每个缓冲区与一个块对应)
    cache =page cache 页高速缓存,是把磁盘中的数据缓存到物理内存中,这样的话系统对磁盘的访问可以变成对物理内存的访问,可以提升系统性能
  • available 指可以被应用程序使用的内存大小,如果当系统中的free内存不够时,可以从buff/cache中回收内存满足应用请求(注:理想情况下available=free+buff+cache)

[Swap]

  • total 指系统交换空间大小
  • used 已经被使用过的交换空间
  • free 指未使用的交换空间

(更多详细信息可以通过/proc/meminfo来查看)

附:
1.关于物理内存与交换空间的关系
物理内存:真实的硬件设备(例:内存条)
交换空间(虚拟内存):利用磁盘空间虚拟出的一块逻辑内存,用来解决物理内存的不足的问题

2.使用的话, 当用户提交程序,会产生进程,在机器上运行。机器会判断当前物理内存是否还有空闲允许进程调入内存运行,如果有那么则直接调入内存进行运行;如果没有,那么会根据优先级选择一个进程挂起,把该进程交换到swap中等待,然后把新的进程调入到内存中运行。另外,内存与swap之间是按照内存页为单位来交换数据的,并且按照’最近最经常使用’算法进行交换数据。


【top】

1.top命令是什么?
  • 用于动态的监视进程活动与系统负载等信息(相当于强化版的Windows任务管理器)
2.相关参数
  • d 指定每两次屏幕信息刷新之间的时间间隔。
  • p 通过指定监控进程ID来仅仅监控某个进程的状态。
  • q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
  • s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
  • i 使top不显示任何闲置或者僵死进程。
  • c 显示整个命令行而不只是显示命令名 。 -【top -ic】
[root@tong ~]# top
top - 21:39:14 up 20 days,  8:55,  1 user,  load average: 0.01, 0.03, 0.05
Tasks:  62 total,   1 running,  61 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1883496 total,   159244 free,   615676 used,  1108576 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1100448 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                 
    1 root      20   0   43240   3432   2296 S  0.0  0.2   0:16.09 systemd                                                                                                                 
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.03 kthreadd                                                                                                                
    3 root      20   0       0      0      0 S  0.0  0.0   0:01.80 ksoftirqd/0                                                                                                             
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H 

3.详细分析

第一行

 top - 21:39:14  up 20 days, 8:55,   1 user,     load average: 0.01,    0.03,  0.05
全局信息 当前系统时间  系统开机运行时间  当前登陆用户数  系统负载:一分钟内的平均值 五分钟内 十五分钟内

也可以通过uptime获取

第二行

Tasks:  62 total,   1 running,  61 sleeping,  0 stopped,   0 zombie
进程信息 进程总数     运行状态进程数 休眠状态进程数  停止状态进程数  僵尸状态进程数

第三行

%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
cpu信息 用户空间占用比 内核空间占用比 调整过优先级的用户进程时间 空闲的资源百分比

第四、五行

KiB Mem :  1883496 total,   159244 free,   615676 used,  1108576 buff/cache
内存信息 物理内存总量 空闲物理内存总量 已使用物理内存总量 buffer缓存区使用的内存总量
KiB Swap:        0 total,        0 free,        0 used.  1100448 avail Mem 
交换分区信息 交换分区的总量  空闲的交换分区总量 已使用的交换分区总量  

第六行

 PID    USER      PR      NI                VIRT                            RES                                        SHR             S       %CPU             %MEM             TIME+           COMMAND
 进程ID 进程所有者 进程优先级 nice值(负值高优先)  进程使用的虚拟内存总量(kb=swap+res) 进程使用的,未被换出的物理内存大小(kb=code+data) 共享内存大小(kb) 进程状态 进程启动后占CPU比 进程使用的物理内存比 进程使用的CPU时间总计 任务名称 
 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  1 root      20   0   43240   3432   2296 S  0.0  0.2   0:16.09 systemd  
  • VIRT(virtual memory):申请的虚拟内存总量,不管是否都用了没。
  • RES(resident memory usage)常驻内存,是进程使用的真实物理内存总和。
  • SHR(shared memory)共享内存:这一块内存空间有可能也被其他应用程序使用
  • DATA:数据占用的内存(f键)

【进程状态】:

  • D:不可中断的睡眠状态:系统不响应系统异步信号,即使使用kill命令也不能将其中断
  • R:运行:进程正在运行或在运行队列中等待
  • S:睡眠:进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态
  • T:停止:进程收到停止信号后停止运行
  • Z:僵尸进程:进程已经终止,但进程描述符依然存在,直到父进程调用wait4()系统调用后释放;僵尸进程是当子进程比父进程先结束, 而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。
    一般一个进程执行过程是

【更多-排序】:

  • N 以 PID 的大小的顺序排列表示进程列表
  • M 根据驻留内存大小进行排序。
  • P 根据CPU使用百分比大小进行排序。
  • T 根据时间/累计时间进行排序。

【示例】:

  • top 每隔5秒显示所有进程的资源占用情况(默认)
  • top -d 3 每隔3秒显式所有进程的资源占用情况
  • top -p 12345 -p 6789 每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况

【查看多核CPU命令】:

  • mpstat -P ALL
  • sar -P ALL

【ps】

1.ps 是什么?
  • 用于查看系统中的进程状态
2.相关参数
  • a 显示所有进程(包括其他用户的进程)
  • -u 用户以及其他详细信息
  • -x 显示没有控制终端的进程

附:ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的,可以用kill来杀死进程

操作:

[root@tong ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  43240  3432 ?        Ss   Mar04   0:16 /usr/lib/systemd/systemd --system --deserialize
root         2  0.0  0.0      0     0 ?        S    Mar04   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Mar04   0:01 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Mar04   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    Mar04   0:03 [kworker/u2:0]
USER      PID   %CPU     %MEM      VSZ          RSS           TTY    STAT    START     TIME         COMMAND
进程所有者 进程号 cpu占用率 内存占用率 虚拟内存使用量 占用的固定内存量 所在终端 进程状态 被启动时间 时间使用cpu时间 命令名称与参数
3.关于STAT

STAT状态有很多,Ss、Ss1、Ss+、S<、R+、S<s1、S<s

  • S:进程处在睡眠状态(idle),但可以被唤醒(signal),表明这些进程在等待某些事件发生–可能是用户输入或者系统资源的可用性
  • D:不可中断 Uninterruptible(usually IO),不可被唤醒状态,通常这个程序可能在等待I/O的情況
  • R:正在运行,或在队列中的进程
  • T:停止状态(stop),可能是在工作控制(暂停)或出错
  • Z (Zombie):僵死状态,程序已经终止但却无法被移除
  • X:死掉的进程
  • <:优先级
  • n:低优先级
  • s:包含子进程
  • +:位于后台的进程组
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值