Linux进程和进程优先级(top+ps+kill+renice+df+free命令)

发布时间:2025-12-09 16:12:08 浏览次数:14

文章目录

  • 概念
  • Linux下的进程管理命令
    • top命令
    • 系统整体情况
      • 1. 第一行
      • 2. 第二行
      • 3. 第三行
      • 4. 第四行
      • 5. 第五行
      • 6. 多核心CPU查看情况
    • 系统的进程信息
      • 1. 如何查看占用CPU最多的进程
      • 2.如果查看占用内存最多的进程
      • 3. free 查看内存情况
      • 4. df 查看磁盘
      • 5. ps查看系统进程信息
          • ps -aux
      • netstat/ss 查询网络访问信息
    • Kill/killall杀死进程
      • 1. 根据pid杀掉进程
      • 2. 根据进程名杀掉进程
  • 进程的优先级
    • 1. 什么是进程的优先级
    • 2. 查看进程的优先级
    • 3.调整进程优先级
      • 1)使用top命令调整进程优先级
      • 2)使用 renice 命令调整进程优先级
    • 3. 是用 nice 命令调整进程的优先级

概念

进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,并占用一定的系统资源,程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。
线程和进程可以看看这个博客线程和进程

Linux下的进程管理命令

top命令

语法:top
功能:动态监测CPU信息
常用选项
-p [PID]:通过PID查找指定进程信息

系统整体情况

1. 第一行

  • 16:19:07:系统当前时间
  • up 33 days:系统运行时间,机器已经开机33天
  • 3 users :当前登录了三个用户
  • load average:0.27,0。17,0。10:系统在之前 1分分钟,5分钟,15分钟的平均负载。如果cpu是单核,则这个数值超过1就是高负载,如果CPU是2核的,则这个数值超过2就是高负载

2. 第二行

  • 1 running:正在运行的进程数
  • 104 sleeping:睡眠的进程数
  • 0 stopped:睡眠的进程数
  • 0 zombie:僵尸进程数,如果不是0,则需要手动检查僵尸进程

3. 第三行

  • Cpu(s):1.3 %us:用户模式占用的 CPU百分比
  • 1.3 %sy:系统模式占用的 CPU百分比
  • 0.0 %ni:改变过优先级的用户进程占用的 CPU百分比
  • 97.3 %id:idle缩写,空闲 CPU 占用的CPU百分比
  • 0.0 %wa:等待输入/输出的进程占用的 CPU百分比
  • 0.0 %hi:硬中断请求服务占用的 CPU百分比
  • 0.0 %si:软中断请求服务占用的 CPU百分比
  • 0.0 %st:st(steal time)意为虚拟时间百分比,就是当有虚拟机时,虚拟CPU等待实际 CPU 的时间百分比

4. 第四行

  • Mem:3688712 total:物理内存的总量,单位为KB
  • 1382100 free:已经使用的物理内存数量
  • 450608 used:空闲的物理内存数量
  • 1856004 buff/cache:作为缓冲的内存数量

注意:真正剩余的内存 = free + buff/cache,,真正使用的内存 = used - buff/cache

5. 第五行

  • Swap:0 total:交换分区(虚拟内存)的总大小
  • 0 used:已经使用的交换分区大小
  • 0 free:空闲交换分区的大小
  • 2973372 avail Mem:可用内存

在Linux操作系统分区时,最少需要3个分区:

  • /boot:系统分区
  • swap:交换分区:一般情况下为内存的1~2倍,但尽量不爱超过2G
  • /分区:也就根分区,所有文件都存在于此
  • swap分区:就是当计算机的内存不足的时候,系统会自动从硬盘中划分出一块区域充当内存使用

    6. 多核心CPU查看情况

    如果想同时查看CPU每个核心的运行情况可以,使用 top命令再按交换快捷键 1(数字1)

    ss -naltp | grep 进程名称

    netstat与ss区别?① netstat信息比较简洁,ss更加丰富 ② ss执行效率比netstat略高

    Kill/killall杀死进程

    1. 根据pid杀掉进程

    语法:kill [信号] PID
    作用:kill命令会向操作系统发送一个信号(一般都是发送终止信号)和目标进程的PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作
    kill一般结合ps命令一起使用

    kill命令用于杀死某个进程,这其实只是其一个功能。kill命令的实质是向进程发送信号

    注意:如果没有写信号编号默认就是15

    信号编号含义
    9杀死进程
    15正常结束进程

    示例:
    使用 kill命令杀死 crond进程

    经常看到kill -9 进程PID,强制杀死某个进程,kill -9 pid

    2. 根据进程名杀掉进程

    基本语法:
    killall [信号编号]进程名称
    作用:
    杀死一类名称相同的进程
    示例:
    杀死所有 httpd 的进程

    进程的优先级

    1. 什么是进程的优先级

    Linux是一个多用户、多任务的操作系统,系统中通常运行着很多进程。哪些进程先运行,哪些进程后运行,就由
    进程优先级来控制

    什么时候需要用到进程的优先级呢?
    当CPU负载过高时,如CPU的使用率>=90%以上。这个时候进程的优先级就会起作用。

    2. 查看进程的优先级

    PR优先级,数值越小优先级越高
    NI 优先级,数字越小优先级越高,可以认为更改(NI = NICE = Nice)

    3.调整进程优先级

    1)使用top命令调整进程优先级

  • 先使用 top 命令获取想要调整的进程信息(PID编号)

  • 运行top命令让后 按小写 r,输入要调整的PID编号

  • 根据提示,重置NICE值

  • 按q退出top模式,然后使用top -p PID编号,只查询某个进程的信息

  • 2)使用 renice 命令调整进程优先级

    语法:renice [NI优先级设置的数字] 想调整进程的名称

    注意:NICE值取值范围-20 ~ 19,不能使用小数

  • 第一步:使用ps或者top命令获取atd的PID编号
    ps -ef | grep mysql

  • 第二步:使用 renice命令调整 1205的NICE值
    renice 01205

  • 查看优先级
    top -p 1205

  • 3. 是用 nice 命令调整进程的优先级

    语法:nice [NI优先级设置的数字] 想调整的进程名称
    注意:nice 命令只能调整没有运行的程序

  • 第一步:将程序停止
    使用 kill PID或者 systemctl stop [服务名]
  • 第二步:启动并定制优先级
    nice -n [NICE值] [进程名称]
  • nice命令包含两个功能:① 启动进程 ② 调整进程的优先级


    3. 确认优先级

    top -p [PID]


    需要做网站?需要网络推广?欢迎咨询客户经理 13272073477