• AIX中的进程管理


    1、AIX中的进程
    (1)后台进程
    后台进程运行时,用户不必等待当前后台进程的结束,即可以运行下一个进程。
    后台进程的运行方式:
    # command &
     
    (2)提高进程优先等级
    -- nice:可增加 nice 的值,降低进程的优先级别。
    # nice [-lncrement | -n lncrement]
    renice:可再增加 nice 的值,以再降低进程的优先级别。
     
    (3)终止进程
    --前台进程
    ctrl-c:终止当前的前台进程
    kill:终止指定的前台进程
    --后台进程
    kill:终止指定的后台进程
     
    (4)kill 的用法
    #kill [ -Signalnumber | -Signalname ] Processes
    常用:
    #kill ProcessesID
    # kill -9  ProcessesID
    ProcessesID 为进程号,可以用 ps命令获取
     
    (5)运行长进程
    nohup:使用户的后台进程在用户退出系统时仍然运行,如果无指定 nohup 的输出信息会将保存在 nohup.out 中
    # nohup command &
    # nohup ls -R  / &
     
    2、ps指令
    常用参数
    -A 表示显示系统中所有的进程,包括进程组组长(process group leader)和核心进程
    -a 表示显示系统中所有的进程,除了进程组组长和没有相关终端的进程
    -d 表示显示系统中所有的进程,除了进程组组长,但包括核心进程
    -e 表示显示系统中所有的进程,除了核心进程
    -f 表示 显示进程的详细信息
    -G grouplist 显示grouplist列表中包含的所有进程组中的进程
    -g 同-G grouplist
    -k 显示核心进程
    -l 以长格式显示进程信息,输出的内容比-f参数输出的内容多
    -m 显示进程中的线程信息
    -o format 按format 指定的格式显示进程信息
    -P Plist显示由Plist指定进程号的进程信息
    -t TList 显示由Tlist指定终端上的进程信息
    -U Ulist 显示由Ulist指定用户名或用户标识号的进程信息
    -u Ulist 同-U Ulist
     
     
    PS常用指令
    #ps   -elf
     
    #ps   aux
     
    # ps aux|head -1; ps aux|sort -nr +2 |head -10
     显示10个消耗cpu最多的进程
    # ps -eakl |head -1; ps -eakl | sort -nr +5 |head -10
    按顺序显示系统中受罚的进程
    # ps vx |head -1; ps vx |sort +6 -nr | head -10
    按实际内存使用的多少顺序显示系统中的前十个进程
    # ps vx |head -1; ps vx |sort -nr +4 | head -10
    按换入页面的多少顺序显示系统中的前十个进程
     
     
     
    3、topas命令监控进程
      Topas命令用于监控各种系统资源, 如cpu的使用情况, cpu事件和队列, 内存和换页空间的使用, 磁盘性能, 网络性能以及NFS统计等. 
    它还会报告指派给不同WLM类的进程对系统资源的消耗情况. 同时可以报告系统中最热门的进程和工作量管理器(WLM的热门类).
    Topas命令将热门进程定义为那些使用大量cpu时间的进程. Topas命令没有作日志的选项, 所有信息都是实时的.
     

    3.1 topas参数

    Topas命令可以监控系统活动――memory,I/O,paging space,cpu,process。
    此命令包含在perfagent.tools文件集里面。
    命令使用方法:
    topas [ -d number_of_monitored_hot_disks ] [ -h ] 
    [ -i monitoring_interval_in_seconds ] 
    [ -n number_of_monitored_hot_network_interfaces]
    [ -p number_of_monitored_hot_processes ] 
    [ -w number_of_monitored_hot_WLMclasses ] 
    [ -c number_of_monitored_hot_CPUs ] 
    [ -P | -W ]
     
    参数:
    -d:指定要监控的磁盘数。如果屏幕显示的区域足够大的话,这也是磁盘可显示的最大数。当这个数值超出实际安装的磁盘数,仅仅监控并显示安装磁盘的信息。这个参数缺省值为2,如果这个值设为0,将没有磁盘被监控。
    -h:显示帮助信息。
    -i:设置监控时间的间隔(秒),默认为2秒。
    -n:设置被监控的网络接口数。这也是在屏幕上显示的最大网络接口数,当这个值超出了实际安装的网络接口数,仅仅监控并显示安装的网络接口信息。参数缺省值为2,如果这个值设为0,将没有网络信息被监控。
    -p:指定被监控的进程数。这也是在屏幕上显示的最大进程数。缺省值为20,如果这个值为0,没见进程信息被监控。得到的这些进程信息是topas的主要开销。如果进程信息不需要,通常使用这个参数指定那些不想要的进程信息。
    -w:指明被监控的WLM类的值。这也是在屏幕上显示的最大WLM值,当这个值超出了实际安装的WLM数,仅仅显示那些安装的WLM类的信息,缺省值为2,如果这个值为0,将没有信息显示。
    -c:指明被监控的CPU数。这也是在屏幕上显示的最大CPU值,当这个值超出了实际安装的CPU数,仅仅显示那些安装的CPU的信息,缺省值为2,如果这个值为0,将没有信息显示。
    -P:显示整个全屏进程显示。显示一系列最繁忙的进程,类似于默认显示的一部分,每个进程仅仅显示几列,可以通过任何列排序。
    -W:显示全屏WLM(负载管理器)类。顶部显示一系列WLM类,类似于WLM类的一部分显示。
    3.2 topas子命令

     

    一些子命令:
    a 这个键显示所有被监控的(CPU,network,disk,WLM,process)不同部分。
    c 这个键在累积报告和最忙的CPU之间进行切换。
    d 这个键在最忙的磁盘和系统总的磁盘活动之间进行切换。
    h 显示帮助信息。
    n 这个键在最忙的接口和系统总的网络活动之间进行切换。
    w 这个键在WLM类的开关之间切换。
    p 这个键进程的开关之间切换。
    P 这个键用全屏进程显示替换默认的显示。
    W 这个键用全屏WLM类显示替换默认显示。
    f 移动光标到一个WLM类上,这个键可以在WLM屏幕底端显示一系列进程情况。
    q 退出程序。
    r 更新显示。
     
     
    3.3 EVENTs部分

     

    下是各个部分表示的含义:
    Cswitch:在监控期间每秒钟内容转换的次数;
    Syscall:在监控期间每秒钟运行系统呼叫的总次数;
    Reads:在监控期间每秒钟运行读系统呼叫的次数;
    Writes:在监控期间每秒钟运行写系统呼叫的次数;
    Forks:在监控期间每秒钟运行派生系统呼叫的次数;
    Execs:在监控期间每秒钟运行执行系统呼叫的次数;
    Runqueue:等待处理器空闲以便运行的线程平均数;
    Waitqueue:等待分页完成的线程平均数;
    Readch:在监控期间通过读系统呼叫每秒钟读出的字节数;
    Writech:在监控期间通过写系统呼叫每秒钟写入的字节数;
    Rawin:在监控期间通过TTYs每秒钟读入的裸字节数;
    Ttyout:在监控期间每秒钟写入TTYs的字节数;
    Igets:在监控期间每秒钟到节点查找例行程序的呼叫数;
    Namei:在监控期间每秒钟路径查找例行程序的呼叫数;
    Dirblk:在监控期间通过目录搜索例行程序每秒钟扫描到的目录块数;
     

     

    3.4 PAGING部分
    PAGING部分显示的是分页每秒钟次数的统计:
    Faults:在监控期间每秒钟发生的分页错误总数;
    Steals:在监控期间被虚拟内存管理器每秒钟偷走的物理内存4k的帧;
    PgspIn:在监控期间每秒钟从分页空间中读取的4k分页数;
    PgspOut:在监控期间每秒钟写入分页空间的4k分页数;
    PageIn:在监控期间每秒钟读取的4k分页数,这包括从文件系统读操作相关的分页活动,从这个值减去PgspIn的值就是每秒钟从文件系统读操作相关的分页活动数;
    PageOut:在监控期间每秒钟写入的4k分页数,这包括向文件系统写操作相关的分页活动,从这个值减去PgspOut的值就是每秒钟向文件系统写操作相关的分页活动数;
    Sios:在监控期间通过虚拟内存管理器得到的I/O请求数;
    3.5 MEMORY部分

     

    Momory部分显示的是实际内存和在使用中的内存:
    Real,MB:以M为单位的实际内存;
    %Comp:当前分配给计算分页片断的内存占实际内存的百分比。计算分页片断由分页空间产生。
    %Nocomp:当前分配非计算分页片断的内存占实际内存的百分比。非计算分页片断包括那些文件空间,数据文件、可执行文件、或者共享库文件。
    %Client:当前分配给用来缓冲远程挂载文件的内存占实际内存的百分比。
     

     

    3.6 PAING SPACE部分
    PAING SPACE显示分页空间的大小和使用率:
    Size,MB:系统里所有分页空间的大小,以M为单位;
    %Used:当前使用的分页空间占总空间的百分比;
    %Free:当前空闲的分页空间占总空间的百分比。
     
    3.7 CPU工具:
    User%:显示运行的用户程序所占用的CPU百分比;
    Kern%:显示运行的内核程序所占用的CPU百分比;
    Wait%:显示等待IO操作所占用的CPU百分比;
    Idel%:显示CPU空闲的百分比。
     
    3.8 网络接口:
    Interf:网络接口的名称;
    KBPS:在监控期间每秒钟通过的以M为单位的总流量,这部分包括每秒钟接收和发送的总和。
    I-Pack:在监控期间每秒钟接收到的数据包数;
    O-Pack:在监控期间每秒钟发送的数据包数;
    KB-In:在监控期间每秒钟接收到的字节数(以K为单位);
    KB-Out:在监控期间每秒钟发送的字节数(以K为单位)。
     
    3.9 物理磁盘:
    Disk:物理磁盘的名称;
    Busy%:指明物理磁盘在活动状态的时间百分比;
    KBPS:在监控期间每秒钟读写的字节数(以K为单位);
    TPS:每秒钟物理磁盘的数据传输量。一次传输指的是一次I/O请求;
    KB-Read:每秒钟从物理磁盘读出的K字节数;
    KB-Write:每秒钟向物理磁盘写入的K字节数。
     
    3.10 WLM(负载管理)类:
    %CPU Utilization:CPU的平均利用率;
    %Mem Utilization:内存的平均利用率;
    %Blk I/O:块I/O的平均利用率;
     
    3.11进程:
    NAME:可执行程序的名称;
    Process ID:进程的ID号;
    %CPU Utilization:进程的CPU平均使用率,这个值指的是进程在生命周期中的平均使用率;
    Paging Space Used:分配给进程的分页空间大小;
    Process Owner:拥有这个进程的用户名;
    Workload Management(WLM)Class:进程属于哪个WLM class。
     
     
    4、pTools—进程监控的一组工具
    Ptools是Aix5.2引进的system v unix提供的一组工具, 用于查看进程相关的信息.
    包括命令procwdx, procfiles, procflags, proccred, procmap, procldd, procsid, procstack, procstop, procrun, procwait, proctree.
     
     

    4.1 procwdx

    Procwdx打印进程的当前工作目录
    # ps vx |head -1; ps vx |sort +3 -nr | head -10
         PID    TTY STAT  TIME PGIN  SIZE   RSS   LIM  TSIZ   TRS %CPU %MEM COMMAND
       53274      - A    137617:51    0    40    36    xx     0     0 12.8  0.0 wait
        8196      - A    136562:05    0    40    36    xx     0     0 12.7  0.0 wait
       49176      - A    128993:26    0    40    36    xx     0     0 12.0  0.0 wait
       57372      - A    128264:57    0    40    36    xx     0     0 11.9  0.0 wait
      303258      - A    533:49  412  1364   256    xx    42     0  0.0  0.0 dtgreet
      483564      - A    129:40 4401   804   548    xx    32    24  0.0  0.0 /usr/bi
      368856      - A    82:35  562   872    20    xx    40     0  0.0  0.0 /usr/sb
           0      - A    59:07    7    52    44    xx     0     0  0.0  0.0 swapper
       16392      - A    58:59    0    60    32    xx     0     0  0.0  0.0 lrud
      131254      - A    52:22 1719   512   284    xx     3     4  0.0  0.0 /usr/sb
    #
    #
    # procwdx 131254
    131254: /
     

    4.2 procfiles

    报告关于进程打开的所有文件描述符的信息
    # ps -ef |head -1; ps -ef |grep ora|head -5
         UID     PID    PPID   C    STIME    TTY  TIME CMD
      oracle  299146       1   0   Apr 10      - 13:39 ora_pmon_arpdb
      oracle  323600       1   0   Apr 10      - 10:31 ora_smon_arpdb
      oracle  442460       1   0   Apr 10      -  9:38 ora_lgwr_arpdb
      oracle  462924       1   0   Apr 10      - 15:14 ora_dbw0_arpdb
      oracle  471062       1   0   Apr 10      -  1:44 ora_mman_arpdb
    #
    # procfiles 299146
    299146 : ora_pmon_arpdb
      Current rlimit: 65534 file descriptors
       0: S_IFCHR mode:00 dev:10,4 ino:286 uid:202 gid:201 rdev:2,2
          O_RDONLY
       1: S_IFCHR mode:00 dev:10,4 ino:286 uid:202 gid:201 rdev:2,2
          O_RDONLY
       2: S_IFCHR mode:00 dev:10,4 ino:286 uid:202 gid:201 rdev:2,2
          O_RDONLY
       3: S_IFCHR mode:00 dev:10,4 ino:286 uid:202 gid:201 rdev:2,2
          O_RDONLY
       4: S_IFCHR mode:00 dev:10,4 ino:286 uid:202 gid:201 rdev:2,2
          O_RDONLY
       5: S_IFREG mode:0200 dev:10,12 ino:191040 uid:202 gid:201 rdev:0,0
          O_WRONLY size:550
       6: S_IFREG mode:0200 dev:10,12 ino:190026 uid:202 gid:201 rdev:0,0
          O_WRONLY | O_APPEND size:8944487
       7: S_IFREG mode:0660 dev:10,12 ino:76412 uid:202 gid:201 rdev:0,0
          O_RDWR size:0
       8: S_IFREG mode:0200 dev:10,12 ino:190026 uid:202 gid:201 rdev:0,0
          O_WRONLY | O_APPEND size:8944487
       9: S_IFREG mode:0775 dev:10,12 ino:76408 uid:202 gid:201 rdev:0,0
          O_RDWR | O_SYNC size:1552
       10: S_IFREG mode:0640 dev:10,12 ino:191039 uid:202 gid:201 rdev:0,0
          O_RDWR | O_APPEND size:1148
       11: S_IFREG mode:0555 dev:10,12 ino:143871 uid:202 gid:201 rdev:0,0
          O_RDONLY size:842240
       12: S_IFREG mode:0775 dev:10,12 ino:76408 uid:202 gid:201 rdev:0,0
          O_RDWR | O_SYNC size:1552
       15: S_IFREG mode:0775 dev:10,12 ino:76409 uid:202 gid:201 rdev:0,0
          O_RDWR size:24
       16: S_IFREG mode:0555 dev:10,12 ino:143871 uid:202 gid:201 rdev:0,0
          O_RDONLY size:842240
     

    4.3 procflags

    打印 /proc 跟踪标志、暂挂和挂起信号和指定进程中每个线程的其它 /proc 状态信息。
     

    4.4 proccred 

    打印进程的凭证(有效的、真实的、已保存的用户标识和组标识)。
     

    4.5 procmap

    打印进程的地址空间映射。
     

    4.6 procldd

    列出进程装入的动态库,包括使用 dlopen() 显式连接的共享对象。
     

    4.7 procsig

    列出进程定义的信号操作。
     

    4.8 procstack

    打印进程中的所有线程的十六进制地址和符号名称。
     

    4.9 procstop

    停止 PR_REQUESTED 事件的进程。
     

    4.10 procrun

    启动在 PR_REQUESTED 事件中停止的进程。
     

    4.11 procwait

    等待全部指定的进程终止。
     
     

    4.12 proctree.

    打印包含指定进程标识或用户的进程树。
    # ps -ef |head -1; ps -ef |grep ora| sort -10
         UID     PID    PPID   C    STIME    TTY  TIME CMD
        root 1228964  893046   0 15:33:56  pts/0  0:00 grep ora
      oracle  299146       1   0   Apr 10      - 13:39 ora_pmon_arpdb
      oracle  323600       1   0   Apr 10      - 10:31 ora_smon_arpdb
      oracle  442460       1   0   Apr 10      -  9:38 ora_lgwr_arpdb
      oracle  462924       1   0   Apr 10      - 15:14 ora_dbw0_arpdb
      oracle  471062       1   0   Apr 10      -  1:44 ora_mman_arpdb
      oracle  479474       1   0   Apr 10      -  1:47 ora_psp0_arpdb
      oracle  487432       1   0   Apr 10      - 26:34 ora_mmnl_arpdb
      oracle  491762       1   0   Apr 10      - 10:51 ora_ckpt_arpdb
      oracle  495864       1   0   Apr 10      -  2:00 ora_qmnc_arpdb
      oracle  786640       1   0   Apr 10      -  0:00 ora_q001_arpdb
      oracle  884988       1   0 11:46:03      -  0:00 ora_q004_arpdb
      oracle  901310       1   0   Mar 12      -  3:18 /oracle/product/10.2.0/bin/tnslsnr LISTENER -inherit
      oracle 1155298       1   0   Apr 10      -  3:22 ora_mmon_arpdb
      oracle 1175776       1   0   Apr 10      - 20:09 ora_cjq0_arpdb
      oracle 1179830       1   0   Apr 10      -  0:09 ora_s000_arpdb
      oracle 1224930       1   0 02:24:35      -  0:00 ora_q002_arpdb
      oracle 1232974       1   0   Apr 10      -  0:01 ora_reco_arpdb
      oracle 1241260       1   0   Apr 10      -  0:06 ora_d000_arpdb
    #
    #
    # proctree 901310
    901310    /oracle/product/10.2.0/bin/tnslsnr LISTENER -inherit
    # proctree 1241260
    1241260    ora_d000_arpdb
     
     
     
     
  • 相关阅读:
    深入浅出之正则表达式(二)
    ==和equlas的区别
    温故知新 javascript 正则表达式
    SQL Server高级内容之子查询和表链接
    C语言访问webservice小例子
    jquery菜单伸缩效果
    电影资源下载网站推荐
    百度云使用迅雷下载资源
    字符编码
    7_2 利用 const 引用避免复制
  • 原文地址:https://www.cnblogs.com/liuxing0007/p/11009901.html
Copyright © 2020-2023  润新知