linux系统监控和进程管理

top命令查看系统的实时运行状况:


  • linux系统监控和进程管理


  • linux系统监控和进程管理

  • linux系统监控和进程管理

  • linux系统监控和进程管理

  • linux系统监控和进程管理

  • linux系统监控和进程管理
  • 进程的三种状态:
  1. 运行态:CPU在调用执行,这才是CPU真实干活时间
  2. 阻塞态:等待 I/O
  3. 就绪态: I/O完成,等待CPU执行;运行态时间过长,也会被中断,转为就绪态

单位时间内,运行态进程和就绪态进程数量之和,就是CPU的队列长度,队列长度除以CPU单位时间内的处理能力,就是CPU的负载。通常负载在0.7以内比较好。CPU的真实干活时间除以总时间(干活时间加等待I/O的时间),就是cpu的利用率,反映了CPU的效率,通常也是70%以内比较好。要避免高负载低利用率。

free 命令监控内存

  • linux系统监控和进程管理
  • buffer 和 cache:
buffer 缓冲区,由于内存和硬盘的速度差,每一次数据写入都会有延迟,为了减少这种延迟,将要写入的零碎数据先放在内存总的一块区域攒起来,然后统一写入硬盘,这个区域就是buffer。Cache,将CPU要用的数据提前准备好,统一存放在内存中的一块区域,方便CPU取用。缓解cpu和内存的速度差,这个区域就是cache。操作系统用的其实就是内存中的buffer和cache。清理内存空间时,不能清buffer,因为数据还没有写入硬盘,但cache中除了kernel使用的部分受保护不能释放外,其他都可以清,因为数据已经在硬盘中了。
  • 内存的可用空间availbale是指剩余的buffer和cache + 能腾出的cache
  • 内存的真实使用率 (total - available) / tatal
  • 重启可以强制释放内存资源,尤其是僵尸进程。
  • echo 3 > /proc/sys/vm/drop_caches 释放内存

ps -aux 进程管理

linux系统监控和进程管理
  • -elf 选项可以查看父进程PPID
  • ps -aux | grep 'process_name' 通过grep可以筛选j进程
linux系统监控和进程管理
  • kill -9 PID 按进程id杀进程,精准
  • pkill -9 process_name 按进程名杀进程
linux系统监控和进程管理
  • pstree PID 查看进程树
linux系统监控和进程管理
如果pstree不可用,可以通过yum -y install psmisc命令来安装