设为首页 收藏本站
查看: 810|回复: 0

[经验分享] CentOS进程管理

[复制链接]

尚未签到

发表于 2018-4-28 11:01:27 | 显示全部楼层 |阅读模式

1、pstree命令:显示进程树
[root@localhost ~]# pstree
init─┬─auditd───{auditd}
     ├─crond
     ├─dbus-daemon───{dbus-daemon}
     ├─httpd───3*[httpd───26*[{httpd}]]
     ├─master─┬─pickup
     │      
                 └─qmgr
     ├─6*[mingetty]
     ├─mysqld_safe───mysqld───20*[{mysqld}]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─sshd───sshd───bash───pstree
     └─udevd───2*[udevd]# Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中
DSC0000.jpg



2ps命令:显示进程的当前状态
命令格式:ps [ OPTION ] ...
(1)常用组合:aux
a:
与终端相关的进程;
u:
以用户为中心组织进程状态信息显示
x:
与终端无关的进程;
[root@localhost ~]# ps
aux | head -8
USER        PID %CPU %MEM    VSZ  RSS TTY      STAT START   TIME COMMAND
root          1 0.1  0.0  19232 1512 ?        Ss   07:32  0:01 /sbin/init
root          2 0.0  0.0      0    0 ?        S    07:32  0:00 [kthreadd]
root          3 0.0  0.0      0    0 ?        S    07:32  0:00 [migration/0]
root          4 0.0  0.0      0    0 ?        S    07:32  0:00 [ksoftirqd/0]
root          5 0.0  0.0      0    0 ?        S    07:32  0:00 [stopper/0]
root          6 0.0  0.0      0    0 ?        S    07:32  0:00 [watchdog/0]
root          7 0.0  0.0      0    0 ?        S    07:32  0:00 [migration/1]各字段解析:
VSZ:
Virtual memory SiZe,虚拟内存集
RSS:
ReSident Size, 常驻内存集
STAT:进程状态
R:running,运行中
S:
interruptable sleeping,可中断睡眠
D:
uninterruptable sleeping,不可中断睡眠
T:
stopped,停止状态
Z:
zombie,僵尸状态

+: 前台进程
l:
多线程进程
N:低优先级进程
<:
高优先级进程
s:
session leader

(2)常用组合:-ef
-e:
显示所有进程
-f:
显示完整格式程序信息

(3)常用组合:-eFH
-F:
显示完整格式的进程信息
-H:
以进程层级格式显示进程相关信息
       ni:
nice值

       pri:
priority,优先级

       psr:
processor, CPU

       rtprio:
实时优先级


3、pgrep, pkill
   pgrep [options] pattern:根据进程相关属性查找进程
   pkill [options]
pattern:发送信号(signal)到指定进程
     options:         
  -u
uid: effective user
      -U uid: real user
      -t terminal: 与指定终端相关的进程
      -l: 显示进程名
      -a: 显示完整格式的进程名
      -P pid: 显示其父进程为此处指定的进程的进程列表

4、pidof: 根据进程名获取其PID
[root@localhost ~]# pidof httpd
1455 1454 1453 14115、top and htop  :显示进程相关信息
1top命令:
    排序:
       P:以占据的CPU百分比;
       M:占据内存百分比;
       T:累积占据CPU时长;

    首部信息显示
       uptime信息:l命令
       tasks及cpu信息:t命令
       cpu分别显示:1 (数字)
       memory信息:m命令

   退出命令:q
   修改刷新时间间隔:s
   终止指定进程:k

    选项:
       -d #: 指定刷新时间间隔,默认为3秒;
       -b: 以批次方式;
       -n #: 显示多少批次;
[root@localhost
~]# top -d 3 -b -n 2

2)htop命令:
    选项:
        d #: 指定延迟时间;
       -u UserName: 仅显示指定用户的进程;
       -s COLOMN: 以指定字段进行排序;
    命令:
  s: 跟踪选定进程的系统调用;
  l: 显示选定进程打开的文件列表;
  a:将选定的进程绑定至某指定CPU核心;
  t: 显示进程树

DSC0001.jpg


6、vmstat命令:虚拟内存状态信息显示
命令格式:vmstat [options]
[delay [count]]
选项:  -s: 显示内存的统计数据

各字段解析:
procs:
r:等待运行的进程的个数;
b:处于不可中断睡眠态的进程个数;(被阻塞的队列的长度);
memory:
swpd:
交换内存的使用总量;
free:空闲物理内存总量;
buffer:用于buffer的内存总量;
cache:用于cache的内存总量;
swap:
si:数据进入swap中的数据速率(kb/s)
so:数据离开swap中的数据速率(kb/s)
io:
bi:从块设备读入数据到系统的速率;(kb/s)
bo:
保存数据至块设备的速率;
system:
in:
interrupts, 中断速率;
cs:
context switch, 进程切换速率;
cpu:
us:用户空间所占CPU使用时间比例
sy:内核空间所占比例
id:空闲时间所占比例
wa:等待IO时间所占比例
st:虚拟机偷盗CPU时间所占比例

7glances命令
glances [-bdehmnrsvyz1]
[-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password]
[-t refresh] [-f file] [-o output]

内建命令:
a  Sort processes automatically     l
Show/hide logs
c  Sort processes by CPU%           b
Bytes or bits for network I/O
m  Sort processes by MEM%           w
Delete warning logs
p  Sort processes by name           x
Delete warning and critical logs
i  Sort processes by I/O rate       1
Global CPU or per-CPU stats
d  Show/hide disk I/O stats         h
Show/hide this help screen
f  Show/hide file system stats      t
View network I/O as combination
n  Show/hide network stats          u
View cumulative network I/O
s  Show/hide sensors stats          q
Quit (Esc and Ctrl-C also work)
y  Show/hide hddtemp stats

常用选项:
-b:
以Byte为单位显示网卡数据速率;
-d:
关闭磁盘I/O模块;
-f
/path/to/somefile: 设定输入文件位置;
-o
{HTML|CSV}:输出格式;
-m:
禁用mount模块
-n:
禁用网络模块
-t #:
延迟时间间隔
-1:每个CPU的相关数据单独显示;

C/S模式下运行glances命令:
服务模式:
glances
-s -B IPADDR(IPADDR: 指明监听于本机哪个地址)

客户端模式:
glances
-c IPADDR(IPADDR:要连入的服务器端地址)

DSC0002.jpg


8dstat命令:生成系统资源统计信息工具
       dstat [-afv] [options..] [delay [count]]
      options:-c: 显示cpu相关信息;
            -C
#,#,...,total

-d:
显示disk相关信息;
-D
total,sda,sdb,...
-g:显示page相关统计数据;
-m:
显示memory相关统计数据;
-n:
显示network相关统计数据;
-p:
显示process相关统计数据;
-r:
显示io请求相关的统计数据;
-s:
显示swapped相关的统计数据;

--tcp:显示tcp连接状态
(listen,
established, syn, time_wait, close)
--udp:显示udp连接状态信息
--unix:unix域套接字状态信息
--raw:raw套接字状态信息
--socket:套接字状态信息
--ipc:ipc状态信息

--top-cpu:显示最占用CPU的进程;
--top-io:
显示最占用io的进程;
--top-mem:
显示最占用内存的进程;
--top-lantency:
显示延迟最大的进程;
    例:延时为2,显示5次
DSC0003.jpg


9sar:收集报告或保存系统活动信息
命令格式:sar [options] [-A] [
-o [ filename ]] t [n]
t:采样间隔
n:采样次数,默认值是1;
-o
filename :将命令结果以二进制格式保存在文件中。
options :
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息

[root@localhost ~]# sar-u -o sar.txt 2 3 Linux
2.6.32-504.el6.x86_64 (localhost.localdomain)  09/26/2015  _x86_64_  (1 CPU)
11:28:25 PM     CPU    %user     %nice   %system  %iowait    %steal     %idle
11:28:27 PM     all     0.50      0.00      1.98     0.99      0.00     96.53
11:28:29 PM     all     0.00      0.00      1.51     1.51      0.00     96.98
11:28:31 PM     all     0.00      0.00      1.50     1.50      0.00     97.00
Average:        all     0.17      0.00      1.66     1.33      0.00     96.84
[root@localhost ~]# sar -r 2 3 Linux
2.6.32-504.el6.x86_64 (localhost.localdomain) 09/26/2015  _x86_64_   (1 CPU)
11:29:54 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
11:29:56 PM   1597996   308496     16.18     20496   162756     91560      3.10
11:29:58 PM   1597872   308620     16.19     20496   162756     91560      3.10
11:30:00 PM   1597872   308620     16.19     20496   162756     91560      3.10
Average:      1597913   308579     16.19     20496   162756     91560      3.10[root@localhost ~]# sar -d -p 2 1 Linux
2.6.32-504.el6.x86_64 (localhost.localdomain)   09/26/2015  _x86_64_  (1 CPU)
11:34:28 PM    DEV  tps  rd_sec/s  wr_sec/s avgrq-sz  avgqu-sz  await   svctm  %util
11:34:30 PM    sda  0.00  0.00    0.00      0.00      0.00      0.00    0.00   0.00
11:34:30 PM    sdb  0.00  0.00    0.00      0.00      0.00      0.00    0.00   0.00
11:34:30 PM    sr0  0.00  0.00    0.00      0.00      0.00      0.00    0.00   0.00
Average:       DEV  tps  rd_sec/s  wr_sec/s avgrq-sz  avgqu-sz  await   svctm  %util
Average:       sda  0.00  0.00    0.00      0.00      0.00      0.00    0.00   0.00
Average:       sdb  0.00  0.00    0.00      0.00      0.00      0.00    0.00   0.00
Average:       sr0  0.00  0.00    0.00      0.00      0.00      0.00    0.00   0.00常用选项:
查看CPU: sar -u、 sar -q
查看内存:sar -B、sar -r、sar -W
查看I/O:
sar -b、sar -u、sar -d -p


10kill命令:向进程发送控制信号,以实现对进程管理
显示当前系统可用信号:
# kill
-l
# man 7
signal

常用信号:
1)
SIGHUP: 无须关闭进程而让其重读配置文件;
2)
SIGINT: 中止正在运行的进程;相当于Ctrl+c;
9)
SIGKILL: 杀死正在运行的进程;
15)
SIGTERM:终止正在运行的进程;
18)
SIGCONT:
19)
SIGSTOP:

指定信号的方法:
(1)
信号的数字标识;1, 2, 9
(2)
信号完整名称;SIGHUP
(3)
信号的简写名称;HUP

向进程发信号:
kill
[-SIGNAL] PID...

终止“名称”之下的所有进程:
killall
[-SIGNAL] Program

11nice and renice:进程优先级调整
静态优先级:100-139
进程默认启动时的nice值为0,优先级为120;
nice命令:
nice
[OPTION] [COMMAND [ARG]...]
renice命令:
renice
[-n] priority pid...
查看:
ps axo
pid,comm,ni
[root@centos7 ~]# nice -n 5 httpd
[root@centos7 ~]# ps -axo pid,comm,ni | grep httpd
  6760 httpd             5
  6762 httpd             5
  6763 httpd             5
  6764 httpd             5
[root@centos7 ~]# renice -n 0 `pidof httpd`
6760 (process ID) old priority 5, new priority 0
6762 (process ID) old priority 5, new priority 0
6763 (process ID) old priority 5, new priority 0
6764 (process ID) old priority 5, new priority 0
12Linux的作业控制
前台作业:通过终端启动,且启动后一直占据终端;
后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端);

让作业工作与后台
(1)
运行中的作业
Ctrl+z
(2)
尚未启动的作业
#
COMMAND &
此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,剥离与终端的关系:
#
nohup COMMAND &
查看所有作业:
# jobs

作业控制:
# fg
[[%]JOB_NUM]:把指定的后台作业调回前台;
# bg
[[%]JOB_NUM]:让送往后台的作业在后台继续运行;
# kill [%JOB_NUM]:终止指定的作业,必须带%
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-453080-1-1.html 上篇帖子: centos安装图形 下篇帖子: linux centos 网卡错误 Device eth0 does not seem to
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表