zoukankan      html  css  js  c++  java
  • linux系统管理 系统进程

    进程介绍

    '进程'
    进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源
    

    ps命令基本使用

    ps命令用来查看在计算机系统中那些程序正在执行,以及执行的情况。可以用它来找出所有的process id和名称。
    ps命令也可以用来列出所有程序占用内存的情况
    'ps -(选项)'
    'a' 显示一个终端的所有进程,除了会话引线
    'u' 显示进程的归属用户以及内存的使用情况
    'x' 显示没有控制终端的进程
    '-l' 长格式显示,显示更加详细的信息
    '-e' 显示所有进程和'-A'作用一致
    
    实例:
    'ps aux'
    查看系统中所有进程
    ​
    [root@ssgao1987 ssgao]# ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.1  19364  1604 ?        Ss   Jul08   0:00 /sbin/init
    root         2  0.0  0.0      0     0 ?        S    Jul08   0:00 [kthreadd]
    ​
    'USER'该进程由哪个用户产生的
    'PID' 进程的ID号
    '%CPU' 该进程占用CPU资源的百分比,占用越高,进程越耗费资源
    '%MEM'该进程占用物理内存的百分比,占用越高,进程越耗费资源
    'VSZ' 该进程占用虚拟机内存的大小,单位KB
    'RSS' 该进程占用实际物理内存的大小,单位KB
    'TTY' 该进程是哪个终端运行的,tty1-tty7表示代表本地控制台终端,tty1-tty6是本地字符界面终端
    tty7是图形终端,pts/0-255代表虚拟终端
    'STAT' 进程状态,常见的状态R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
    'START' 进程的启动时间
    'TIME' 该进程占用CPU的运算时间,注意不是系统时间
    'COMMAND' 产生此进程的命令名
    

    PSTREE基本使用

    >>>pstree [选项]
    -p: 显示进程的PID
    -u:显示进程的所属用户
    ​
    [root@ssgao1987 ssgao]# pstree -pu
    init(1)─┬─auditd(1135)───{auditd}(1136)
            ├─console-kit-dae(1387)─┬─{console-kit-da}(1388)
            │                       ├─{console-kit-da}(1389)
            │                       ├─{console-kit-da}(1390)
            │                       ├─{console-kit-da}(1391)
    .......
    

    top命令基本使用

    top命令可以查看目前程序的执行情景和内存使用。和ps类似,不过它会几秒钟更新一次系统状态方便追踪。
    离开按Ctrl+C/或q键
    'top [选项]'
    '-d' 秒数:指定top命令每隔几秒更新,默认是3秒
    '-b' 使用批处理模式输出。一般和-n选项合用
    '-n'次数:指定top命令执行的次数
    'P'以cpu使用率排序
    'M'以内存的使用率排序
    'N'以PID排序
    'q' 退出top
    
    top -b -n 1 >top.log
    将所有进程刷新一次的信息全部写入到top.log文件
    [root@ssgao1987 ssgao]# top
    ​
    top - 10:23:12 up 17:16,  1 user,  load average: 0.00, 0.00, 0.00
    Tasks:  82 total,   1 running,  81 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
    Mem:   1020052k total,   382400k used,   637652k free,    62460k buffers (加速写入)
    Swap:  1048572k total,        0k used,  1048572k free,   204940k cached(加速读取)
    ------------------
    第一行:
    top - 10:23:12 up 17:16,  1 user,  load average: 0.00, 0.00, 0.00
    1) 系统当前时间
    2) 系统的运行时间
    3) 当前登录的用户数
    4) 系统在1分钟,5分钟,15分钟的平均负载,一般认为小于1时,负载较小,如果大于1,系统已经超出负荷
    ------------------
    第二行:
    Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
    1) 系统总进程数
    2)正在运行的进程数
    3) 睡眠的进程
    4) 正在停止的进程
    5) 僵尸进程,如果不是0,需要手工检查僵尸进程
    ------------------
    第三行:
    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
    1) 用户模式占用的CPU百分比
    2)系统模式占用的CPU百分比
    3)改变过优先级的用户进程占用的CPU百分比
    4)等待输入/输出的进程占用CPU百分比
    5)硬中断请求服务占用的CPU百分比
    6)软中断请求服务暂用的CPU百分比
    st虚拟时间百分比,就是当虚拟机时,虚拟CPU等待实际CPU的时间百分比
    ------------------
    第四行
    Mem:   1020052k total,   382400k used,   637652k free,    62460k buffers (加速写入)
    1)物理内存总量
    2)已经使用的物理内存数量
    3)空闲物理内存数量
    4)作为缓冲区的内存数量
    ------------------
    第五行:
    Swap:  1048572k total,        0k used,  1048572k free,   204940k cached(加速读取)
    1)交换分区
    2)已经使用的交互分区的大小
    3)空闲交换分区大小
    4)作为缓存的交互分区的大小
    

    kill命令

    kill 命令用来终止一个正在执行的进程,如一个执行过程失败了,可以把这个程序终止,避免留在内存中占用系统资源。
    不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以发送很多信号给这写程序,也可以让他们受到信好后做很多事情。
    命令格式 kill -(选项) pid
    在执行kill命令前。可以先用ps查一下某宕掉程序的pid,然后使用kill除去某个程序。例如终止pid为90的程序:kill 90
    -l 列出所有可用的信号名称
    -p 印出pid并不发送信号
    -signal 其中可用的讯号有HUP(1) ,KILL(9),TERM(15),分别代表着重跑,砍掉,结束
    将pid为323的进程砍掉
     kill -9 323
    将pid为456的进程重跑(restart)
    kill -HDP 456
    kill -1 2235
    重启进程
    kill -9 2236
    强制杀死进程
    kill 2236
    不强制杀死,待执行结束后终止进程
    
    

    java的进程查看

    jps命令
    查看java进程
    列出所有的jvm实例
    是jdk1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合linux平台简单查看java进程的一些简单情况
    'jps -q'
    只显示pid,不显示class名称,jar文件名和传递给main方法的参数
    'jps -m'
    输出传递给main方法的参数,在嵌入式jvm上可能是null
    
    jps [ options ] [ hostid ] 
    选项 
    -q 仅输出VM标识符,不包括class name,jar name,arguments in main method 
    -m 输出main method的参数 
    -l 输出完全的包名,应用主类名,jar的完全路径名 
    -v 输出jvm参数 
    -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 
    -Joption 传递参数到vm,例如:-J-Xms48m
    
  • 相关阅读:
    【Linux】——sleep无法正常休眠
    【网络——Linux】——IPMI详细介绍【转】
    【Linux】——ctags
    10086 8元套餐
    建置 区域划分
    几何
    孙武
    监察委
    python 内置函数
    Oracle cursor and table
  • 原文地址:https://www.cnblogs.com/ssgao/p/8871630.html
Copyright © 2011-2022 走看看