• [Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务


    进程管理:查看与终止

    • 进程查看

      1. 进程是正在执行的程序或命令。

      2. 进程管理的作用:

      判断服务器健康状态,

      查看系统中所有进程

      杀死进程

      3. 查看系统中所有进程

      ps aux    # 查看系统中所有进程,使用BSD操作系统格式

      ps le    # 查看系统中所有进程,使用Linux标准命令格式

      USER:该进程由哪个用户产生的;

      PID:进程的ID号;

      %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;

      %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

      VSZ:该进程占用虚拟内存的大小,单位KB;

      RSS:该进程占用实际物理内存的大小,单位KB;

      TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-256代表虚拟终端。?代表由内核产生;

      STAT:进程状态。常见的状态有(R:运行、S:睡眠、T:停止、s:包含子进程、+:位于后台);

      START:该进程的启动时间;

      TIME:该进程占用CPU的运算时间,注意不是系统时间;

      COMMAND:产生此进程的命令名;

      4. 查看系统健康状态

      top [选项]

        -d 秒数    :    指定top命令每隔几秒更新,默认是3秒;

      在top命令的交互模式当中可以执行的命令:

        ? 或 h    :    显示交互模式的帮助;

        P    :    以CPU使用率排序,默认;

        M    :    以内存的使用率排序;

        N    :    以PID排序;

        q    :    退出top;

      第一行是任务队列信息

        12:26:46    # 系统当前时间(不一定准确)

        up 1 day, 13:32    #系统的运行时间,本机已运行1天 13小时32分钟

        2 users    # 当前登录了两个用户

        load average:0.06, 0.11, 0.12    # 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时(1核CPU),负载较小。如果大于1,系统已经超出负荷。

      第二行是进程信息

        Tasks:95 total    # 系统中的进程总数

        1 running    # 正在运行的进程数

        94 sleeping    # 睡眠的进程

        0 stopped    # 正在停止的进程

        0 zombie    # 僵尸进程。如果不是0,需要手工检查僵尸进程

      第三行是CPU信息

        Cpu(s):0.1%us    # 用户模式占用的CPU百分比

        0.1%sy    # 系统模式占用的CPU百分比

        0.0%ni    # 改变过优先级的用户进程占用的CPU百分比

        99.7%id    # 空闲CPU的百分比

        0.1%wa    # 等待输入/输出的进程的占用CPU百分比

        0.0%hi    # 硬中断请求服务占用的CPUb百分比

        0.1%si    # 软中断请求服务占用的CPU百分比

        0.0%st    # st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

      第四行是物理内存信息

        Mem:1870784k total    # 物理内存的总量,单位KB

        1795092k used    # 已经使用的物理内存数量

        85028k free    # 空闲的物理内存数量,如果是虚拟机就是虚拟机中所剩可用内存,(85028/1024=83M)

        0 buffers    # 作为缓冲的内存数量

      第五行是交换分区(swap)信息

        Swap:2097148 total    # 交换分区(虚拟内存)的总大小

        736812k used    # 已经使用的交换分区的大小

        1360336 free    # 空闲交换分区的大小

        300712 cached Mem   # ​作为缓存的交换分区的大小

      ( 以上几个重要指标是:平均负载CPU空闲率内存空闲大小

      ( top命名本身也是耗资源的,没有必要一直开着,用完就退出 )

      5. 查看进程树

      pstree [选项]

        -p    :    显示进程的PID

        -u    :    显示进程的所属用户

    • 终止进程

      kill -l    # 查看可用的进程信号。

      kill -1 进程ID    # 该信号让进程立即关闭,然后重新读取配置文件之后重启。

      kill -9 进程ID    # 立即结束程序的运行,本信号不能被阻塞、处理和忽略。一般用于强制终止进程。

      kill -15 进程ID    # 正常结束进程的信号,kill的默认信号。

      killall [选项][信号] 进程名    # 按照进程名杀死进程

        选项

        -i    :    交互式,询问是否要杀死某个进程

        -I    :    忽略进程名的大小写

      pkill [选项][信号] 进程名    # 按照进程名终止进程(与killall完全一样,除了选项)

        选项

          -t 终端号    :    按照终端号提出用户

       ( w    # 使用w命令查询本机已经登录的用户 )

       ( pkill -t -9 pts/1    # 强制杀死从pts/1虚拟终端登录的进程 )


    工作管理

    • 把进程放入后台

      1. 命令结尾加 & 符号,在后台继续执行;

      2. 命令执行过程中按 ctrl+z ,把任务放入后台暂停运行。

         一个典型场景是,vim 编辑某些文件时,使用 ctrl+z 可以保留工作现场退回到终端,之后通过 fg 回到编辑界面。

    • 查看后台的工作

      jobs [-l] 

        参数: -l     显示工作的 pid

      “+” 代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作。

      “ - ” 代表倒数第二个放入后台的工作。

    • 将后台暂停的工作恢复到前台执行

      fg %工作号

        参数:%工作号  注意工作号是 jobs 列出的在行首的数字,不是PID

    • 把后台暂停的工作恢复到后台执行

      bg %工作号

        注:后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行,比如 top、vim.


    系统资源查看

    • vmstat 命令监控系统资源使用情况

        vmstat [刷新延时  刷新次数]

        vmstat  2  3     # 共输出三次,每次间隔2秒,主要是看内存和CPU的使用,比 top 的输出内容简洁

    • dmesg 开机时内核检测信息

        dmesg

        dmesg | grep CPU

    • cat /proc/cpuinfo 查看CPU信息
    • free 命令专门查看内存使用状态

        free [-b|-k|-m|-g|-h]

        缓存(cache)和缓冲(buffer)的区别:

        缓存是用来加速数据从硬盘中“读取”的,而缓冲是用来加速数据“写入”硬盘的。

    • uptime 命令

        显示系统的启动时间和平均负载,也就是 top 命令的第一行,w 命令也可以看到这个数据。

    • 查看系统与内核相关信息

        uname [选项]

          -a  查看系统所有相关信息

          -r  查看内核版本,主要用途

          -s  查看内核名称

    • 判断当前系统的位数

        file /bin/ls  # /bin/ls: ELF 64-bit ......

        

    • 查询当前 Linux 系统的发行版本

        lsb_release -a

    • 列出进程打开或使用的文件信息

        lsof [选项]

          -c 字符串  只列出以字符串开头的进程打开的文件

          -u 用户名  只列出某个用户的进程打开的文件

          -p pid    列出某个PID进程打开的文件


      

    系统定时任务

    • cron 服务管理与访问控制

        systemctl restart cron.service    # 重启cron服务

        systemctl enable cron.service      # 设置开机自启动

        systemctl list-unit-files          # 查看是否开机自启动

        systemctl list-units --type=service  # 查看所有已启动的服务

    • 用户的 crontab 设置

        crontab [选项],格式:分-时-日-月-周 命令

          -e  编辑 crontab 定时任务

          -l   显示用户的 crontab 任务

          -r   删除当前用户所有的 crontab 任务

    Link:http://www.cnblogs.com/farwish/p/4866659.html

  • 相关阅读:
    冒泡排序算法分析和实现
    选择排序算法分析与实现
    nio和 bio
    TCP三次握手
    IE input X 去掉文本框的叉叉和密码输入框的眼睛图标
    <%#eval() %>和<%#bind() %> 的区别
    <%#Eval() %>的常用方法
    C#(ASP.net)从其他网站抓取内容并截取有用信息
    JQuery写的一个简单的分页插件-2
    简单实用的jQuery分页插件
  • 原文地址:https://www.cnblogs.com/farwish/p/4866659.html
Copyright © 2020-2023  润新知