linux资源管理(二)

进程管理命令

top

查看服务器的进程占用资源
动态显示系统资源

  • 操作快捷键
    z:打开,关闭颜色
    M(大写):表示将结果按照内存(MEM)从高到低进行降序排列;
    m(小写):切换内存memmory的显示格式。
    P(大写):,表示将结果按照CPU 使用率从高到低进行降序排列;
    1 :当服务器拥有多个cpu 的时候可以使用“1”快捷键来切换是否展示显示各个cpu 的详细信息;
    q:退出

  • 第二行的内容
    Tasks: 209 total 系统中的进程总数
    1 running 正在运行中的进程数
    206 sleeping 睡眠的进程数
    2 stopped 正在停止的进程数
    0 zombie 僵尸进程数,如果不是0,则需要人工检查僵尸进程

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

  • 第四行内容
    Mem total 物理内存的容量
    free 空闲的物理内存数量
    used 已经使用的物理内存数量
    buff/cance 作为缓冲的内存数量

  • 第五行内容
    swap total 交换分区(虚拟内存)的总大小
    free 空闲交换分区的大小
    used 已经使用的交换分区的大小
    avail Mem 可用内存

  • 具体的使用信息
    PID 进程的id
    USED 该进程所属的用户
    PR 优先级,数值越小优先级越高
    NI 优先级,数值越小优先级越高
    VIRT 该程序使用的虚拟内存大小,单位为KB
    RES 该程序使用的物理内存大小,单位为KB
    SHR 共享内存大小,单位为KB
    S 进程状态,S代表睡眠,R表示运行
    %CPU 该进程占用CPU的百分比
    %MEM 该进程占用内存的百分比
    TIME+ 该进程共占用的CPU时间
    COMMAND 进程名

  • 另外两个查看整体进程信息的命令
    htop,界面比较好看,还有可使用的快捷键

    glances,界面美化,和top一样

ps

查看当前用户终端的进程

  • linux标准参数用法
    -e:显示所有进程
    -f:显示进程详细
    -P:指定pid,显示其信息
    -C:指定进程名字查看
    -U:指定用户名,查看用户进程信息

  • UNIX风格,没有短横线
    a:显示所有终端,所有用户执行的过程
    u:以用户显示出进程详细信息
    x:显示操作系统所有的进程信息
    f:显示进程树状结构
    o:格式化显示进程信息,指定如pid
    k:对进程属性排序,如k %mem 正序,k %mem 逆序
    --sort:再进行排序,如 --sort %mem 根据内存使用率显示

  • 结合管道符
    ps-ef|grep nginx|grep -v ‘grep’
    不显示每次都会出现的grep进程

  • 还有两个进程查看命令
    pstree 以树状图显示进程
    -p 显示树状图进程信息,且显示pid
    piddf 以进程名找出他的pid

lsof

列出当前系统打开的文件

*常用参数
-c:指定进程名,打开了哪些系统文件
-i:显示符合条件的进程
-p:显示指定pid打开的文件
-u:显示指定用户uid打开的文件
+d:显示文件夹被打开的文件有哪些
+D:递归列出目录哪些文件被进程打开
-n:不显示主机名,直接显示ip
-P:不显示端口名,直接显示端口号
-s:列出文件大小

*可借助lsof恢复被误删的日志文件

kill

进程杀死
*常用信号
-15 (SIGTERM) 默认信号,什么都不加,默认就是这个信号
-9 (SIGKILL)强制性终止,危险的信号,可能导致程序出现不可预期的错误,遇见杀不死的进程,只能通过这个信号来
-1 (SIGHUP)重载信号 以nginx网站为例,修改了配置文件,重载nginx,发送kill -1,以实现配置文件重读,配置生效

*根据进程名杀死,容易误杀
killall
pkill
不建议用

后台命令

  • 命令集合
    command & :未启动的command放入后台去运行,只是帮助进程,在当前ssh会话中在后台运行,如果会话断开,进程会丢失
    jobs:查看后台进程列表
    ctrl+z:暂停进程
    bg:程序放入后台运行,和&一样
    fg:将后台任务放入前台执行
    nohup(用的最多):;和&结合,真正让程序在后台运行,即使ssh会话断开,进程也不会丢失,会被一号进程收养
    结合数据流,数据重定向:
    stdin:标准输入,0 一般是键盘输入数据
    stdout:标准输入,1 程序执行结果,输出到终端
    stderr:标准错误输出,2 程序执行结果,输出到终端
    nohup ping baidu.com > /tmp/nohup_ping.log 2>&1 把错误结果(2)当做标准输出(1)写入文件,不显示在终端上

free

内存资源管理

  • 常用选项
    -m:表示以mb为单位查看
    -h:以可读形式显示容量

    free命令主要用来查看内存和swap分区的使用情况,其中
  • total:是指总数
    used:是指已经使用的
    free:是指空闲的
    shared:是指共享的
    buffres:是指缓冲内存数
    cached:是指缓存内存数

buffer和cache

  • buffer 缓冲区,是给CPU往硬盘中写入数据时加速的
  • cache 缓存区,是给CPU从硬盘中读取数据加速的

图解buffer

图解cache

stress

CPU压力测试

  • 可以用top实时查看资源动态
    也可用uptime,查看状态快照

df

查看磁盘使用情况

  • 常用参数
    -h:以可读形式显示大小

iotop

检测磁盘读写情况
*常用参数
-k:以千字节为单位显示磁盘输出

  • 需要下载
    yum install iotop -y
    *还有一个iostat

netstat、ss

网络资源管理,查看linux机器的端口

  • 常用参数
    -a:显示所有网络连接
    -t:显示tcp链接
    -u:显示udp链接
    -n:显示数字形式地址而不是去解析主机、端口或用户名
    -l:只显示正在侦听的套接字
    -p:显示套接字所属进程的PID和名称
posted @ 2022-03-25 17:35  Fyy^  阅读(68)  评论(0编辑  收藏  举报