Linux进程管理之四大名捕
入门小站 入门小站 2023-03-05 22:20 发表于湖北 收录于合集#Linux725个 入门小站 分享运维技巧及10k+Stars的开源项目 225篇原创内容 公众号【Linux250个常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。
来源:https://www.cnblogs.com/sanyuanempire/p/6168534.html
一、四大名捕
四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手 “无情”、内功卓越的高手“铁手”、腿功惊人的“追命” 和剑法一流的“冷血”。
本文四大名捕由 linux 命令所出演:
- 无情:ps 出演
- 铁手:dstat 出演
- 追命:top 出演
- 冷血:htop 出演
二、进程相关基础知识
介绍四大名捕之前先介绍一下进程相关的基础知识,话不多说,看图。
三、轻功暗器高手 “无情” [PS]
ps:用于显示当前进程的状态(非动态)
ps [options]:
选项有三种风格:
1、UNIX 风格,必须在选项前面加 “-”
2、BSD 风格,选项前不能加 “-”
3、GNU 风格,选项前为两个 “-”
常用组合之一:aux
- a:所有与终端相关的进程
- x:所有与终端无关的进程
- u:以用户为中心组织进程状态信息显示
- CPU%:cpu 时间占用比率
- MEM%:内存占用百分比
- VSZ:virtual size 虚拟内存集;
- RSS:Resident Size,常驻内存集;
STAT:
- R:running 运行
- S:interruptable sleeping 可中断睡眠
- D:uninterruptable sleeping 不可中断睡眠
- T:Stopped 停止
- Z:zombie 僵死态
- +:前台进程
- l:多线程进程
- N:低优先级进程
- <:高优先级进程
- s:session leader 进程领导者
常用组合之二:-ef
- -e:显示所有进程
- -f:显示完整格式的进程信息
常用组合之三:-eFH
-F:显示完整格式的进程信息;
- C:cpu utilization cpu 占用百分比
- PSR:运行于哪颗 CPU 之上
-H:以层级结构显示进程的相关信息;
常用组合之四:-eo, axo
o field1, field2,…:自定义要显示的字段列表,以逗号分隔
常用的 field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio
- pid:进程的 pid 号
- ni:nice 值
- priority:优先级
- psr:运行在那颗 cpu
- pcpu:cpu 利用率
- ppid:父进程的 id 号
- rtprio:实时优先级
四、内功卓越的高手 “铁手”[dstat]
dstat:系统资源统计命令(动态)
dstat [-afv] [options..] [delay [count]]
常用选项:
- -c, –cpu:显示 cpu 相关信息;
- -C #,#,…,total:显示第一个 cpu,第二个 cpu 或者总共的
- -d, –disk:显示磁盘的相关信息
- -D sda,sdb,…,tobal:显示指定硬盘设备,总空间
- -g:显示 page 相关的速率数据;
- -m:Memory 的相关统计数据
- -n:Interface 的相关统计数据;
- -p:显示 process 的相关统计数据;
- -r:显示 io 请求的相关的统计数据;
- -s:显示 swapped 的相关统计数据;
- –tcp:显示 tcp 套接字
- –udp:显示 udp 连接
- –raw:显示裸套接字
- –socket:套接字
- –ipc:进程间通信信息
- –top-cpu:显示最占用 CPU 的进程;
- –top-io:最占用 io 的进程;
- –top-mem:最占用内存的进程;
五、腿功惊人的 “追命”[top]
top:列出 inux 进程
top 为动态显示进程
top 命令个参数具体含义:
top – 14:58:34 up 5:28, 1 user, load average: 0.01, 0.02, 0.05
- 14:58:34:当前时间
- up 5:28:运行时长
- 1 user:登录当前系统上的用户数
- load average: 0.01, 0.02, 0.05:平均负载(等待运行的队列长度的负载)
Tasks: 353 total, 2 running, 351 sleeping, 0 stopped, 0 zombie
- Tasks: 任务
- 353 total:一共运行多少进程
- 2 running:几个处于运行
- 351 sleeping:多少个睡眠
- 0 stopped:多少个停止
- 0 zombie:多少个僵死
%Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- %Cpu:cpu 占用百分比
- 0.0 us:用户空间占用的百分比
- 0.7 sy:内核空间占用时间的百分比
- 0.0 ni:对 nice 调整占用的内存百分比
- 99.3 id:空闲百分比
- 0.0 wa(wait):等待 IO 完成所消耗的百分比
- 0.0 hi:处理硬件中断所占用的百分比
- 0.0 si:处理软件中断所占用的百分比
- 0.0 st:被偷走的百分比(虚拟化程序)
KiB Mem : 1001332 total, 681052 free, 139844 used, 180436 buff/cache
- KiB Mem:内存空间占用,以 KB 为单位:
- 1001332 total:总内存空间
- 681052 free:剩余内存空间
- 139844 used:已用内存空间
- 180436 buff/cache:用于缓存和缓冲的内存空间
KiB Swap: 2098172 total, 2098172 free, 0 used. 698100 avail Mem
- KiB Swap:swap 空间占用,以 KB 为单位
- 2098172 total:总空间
- 2098172 free:剩余空间
- 0 used:已用空间
- 698100 avail Mem :有效 swap 大小
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3077 root 20 0 146276 2256 1420 R 1.7 0.2 0:02.91 top
- PID: 用户 pid
- USER: 用户名称
- PR: 优先级
- NI:nice 值
- VIRT:virtual size 虚拟内存集
- RES: 常驻内存集
- SHR: 共享内存空间
- S: 当前状态
- %CPU: 占据 CPU 百分比
- %MEM: 占据 MEM 百分比
- TIME+: 运行时长
- COMMAND: 命令
top 内排序:
- P:以占据 CPU 百分比排序
- M:以占据内存百分比排序
- T:累积占用 CPU 时间排序
首部信息:
uptime 信息:l 命令
第一行没有显示
tasks 及 cpu 信息:t 命令
可以禁用显示硬盘及 cpu 相关消息
内存信息:m 命令
可以将内存使用率用 ||| 显示 或者白空格显示
退出命令:q
修改刷新时间间隔:s
终止指定的进程:k
选项:
- -d #:指定刷新时间间隔,默认为 3 秒;
- -b:以批次方式显示;
- -n #:显示多少批次;
六、剑法一流 “冷血”[htop]
htop: 交互式进程查看器
htop [-dus]
htop 是一个非常强大的工具,下面从 F1 到 F10 可以看到具体的参数信息。
F1 :帮助信息
选项:
- -d #:指定延迟时间间隔
- -u UserName:仅显示指定用户的进程
- -s COLUME:以指定字段进行排序
常用子命令:
- l:显示选定的进程打开的文件列表
- s:跟踪选定的进程的系统调用
- t:以层级关系显示各进程状态
- a:将选定的进程绑定至某指定的 CPU 核心
此处可以添加指定项到显示屏幕上面,显示方式可以是 [Bar] [Text] [Graph] [LED]
入门小站 分享运维技巧及10k+Stars的开源项目 225篇原创内容 公众号 收录于合集 #Linux 725个 上一篇培养这10个习惯,你就离UNIX高手更进一步了下一篇Linux入门新手应掌握的10个基本命令 阅读 1363【Linux250个常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。
Linux 运维必备的 13 款实用工具
HPCer HPCLIB 2022-11-18 21:43 发表于陕西 收录于合集#linux11个转自:高效运维
来源:https://blog.51cto.com/907832555/1961012
本文介绍几款 Linux 运维比较实用的工具,希望对 Linux 管理员有所帮助。
1、查看进程占用带宽情况-Nethogs
Nethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。下载:http://sourceforge.net/projects/nethogs/files/nethogs/0.8/nethogs-0.8.0.tar.gz/download
[root@localhost ~]#yum -y install libpcap-devel ncurses-devel
[root@localhost ~]# tar zxvf nethogs-0.8.0.tar.gz
[root@localhost ~]# cd nethogs
[root@localhost nethogs]# make && make install
[root@localhost nethogs]# nethogs eth0
2、硬盘读取性能测试-IOZone
IOZone是一款Linux文件系统性能测试工具 可以测试不同的操作系统中文件系统的读写性能。
下载:http://www.iozone.org/src/current/
[root@localhost current]# tar xvf iozone3_420.tar
[root@localhost ~]# cd iozone3_420/src/current/
[root@localhost current]# make linux
[root@localhost current]# ./iozone -a -n 512m -g 16g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls
-a使用全自动模式
-n为自动模式设置最小文件大小(Kbytes)。
-g设置自动模式可使用的最大文件大小Kbytes。
-i用来指定运行哪个测试。
-f指定测试文件的名字完成后自动删除
-R产生Excel到标准输出
-b指定输出到指定文件上
3、实时监控磁盘IO-IOTop
IOTop命令是专门显示硬盘IO的命令,界面风格类似top命令。
[root@localhost ~]# yum -y install iotop
4、网络流量监控-IPtraf
IPtraf 是一个运行在Linux下的简单的网络状况分析工具。
[root@localhost ~]# yum -y install iptraf
5、网络流量监控-IFTop
iftop是类似于linux下面top的实时流量监控工具。比iptraf直观些。
下载:http://www.ex-parrot.com/~pdw/iftop/
[root@localhost ~]# tar zxvf iftop-0.17.tar.gz
[root@localhost ~]# cd iftop-0.17
[root@localhost iftop-0.17]# ./configure
[root@localhost iftop-0.17]# make && make install
[root@localhost iftop-0.17]# iftop
[root@localhost iftop-0.17]# iftop -i eth0 #指定监控网卡接口
-
TX:发送流量
-
RX:接收流量
-
TOTAL:总流量
-
Cumm:运行iftop到目前时间的总流量
-
peak:流量峰值
-
rates:分别表示过去 2s 10s 40s 的平均流量
6、进程实时监控-HTop
HTop 是一个 Linux 下的交互式的进程浏览器可以用来替换 Linux 下的top命令。
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(安装第三方YUM源)
[root@localhost ~]# yum -y install htop
7、系统资源监控-NMON
NMON 是一种在 AIX 与各种 Linux 操作系统上广泛使用的监控与分析工具。
下载:http://sourceforge.jp/projects/sfnet_nmon/releases/
[root@localhost ~]# chmod +x nmon_x86_64_rhel6
[root@localhost ~]# mv nmon_x86_64_rhel6 /usr/sbin/nmon
[root@localhost ~]# nmon
8、监控多个日志-MultiTail
MultiTail 是在控制台打开多个窗口用来实现同时监控多个日志文档、类似 tail 命令的功能的软件。
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm (安装第三方YUM源)
[root@localhost ~]# yum -y install multitail
[root@localhost ~]# multitail -e "fail" /var/log/secure #筛选关键字进行监控
[root@localhost ~]# multitail -l "ping baidu.com" #监控后面的命令-l将要执行的命令
[root@localhost ~]# multitail -i /var/log/messages -i /var/log/secure #-i指定一个文件名
9、SSH 暴力破解防护-Fail2ban
Fail2ban可以监视你的系统日志然后匹配日志的错误信息正则式匹配执行相应的屏蔽动作一般情况下是调用防火墙屏蔽
下载:http://www.fail2ban.org/wiki/index.php/Downloads
[root@localhost ~]# cd fail2ban-0.8.11
[root@localhost fail2ban-0.8.11]# python setup.py install
[root@localhost fail2ban-0.8.11]# cd files/
[root@localhost files]# cp ./redhat-initd /etc/init.d/fail2ban
[root@localhost files]# service fail2ban start
[root@localhost files]# chkconfig --add fail2ban
[root@localhost files]# chkconfig fail2ban on
注:需要配置 iptables 实用,如果重启iptables了也要重启fail2ban,因为fail2ban的原理是调用 iptables 实时阻挡外界的攻击。
[root@localhost ~]# grep -v "^#" /etc/fail2ban/jail.conf | grep -v "^$" [DEFAULT]
ignoreip = 127.0.0.1/8 #忽略本机IP
bantime = 600 #符合规则后封锁时间
findtime = 600 #在多长时间内符合规则执行封锁如600秒达到3次则执行
maxretry = 3 #最大尝试次数
backend = auto #日志修改检测日志gamin、polling和auto这三种
usedns = warn [ssh-iptables]
enabled = true #默认是禁用
false filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp] # sendmail-whois[name=SSH,dest=收件人邮箱, sender=发件人邮箱, sendername="Fail2Ban"]
logpath = /var/log/sshd.log #响应的错误日志一般在/var/log/secure maxretry = 5 #尝试错误次数覆盖全局中的maxretry
注:默认所有的应用防护都是关闭的,需要我们手动开启。fail2ban.conf文件是日志信息,jail.conf文件是保护的具体服务和动作配置信息。
[root@localhost ~]# touch /var/log/sshd.log
[root@localhost ~]# service fail2ban restart
[root@localhost ~]# fail2ban-client status # 查看监控已经开启 Status | - Number of jail:1 `- Jail list:ssh-iptables
[root@localhost ~]# iptables -L # iptables 过滤表有 fail2ban 一条规则 fail2ban-SSH tcp -- anywhere anywhere tcp dpt:ssh
10、连接会话终端持续化-Tmux
Tmux 是一个优秀的终端复用软件,类似 GNU Screen,比 Screen 更加方面、灵活和高效。为了确保连接 SSH 时掉线不影响任务运行。rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(安装第三方YUM源)
11、页面显示磁盘空间使用情况-Agedu
下载:http://www.chiark.greenend.org.uk/~sgtatham/agedu/
[root@localhost ~]# tar zxvf agedu-r9723.tar.gz
[root@localhost ~]# cd agedu-r9723
[root@localhost ~]# ./configure
[root@localhost ~]# make && make install
[root@localhost ~]# agedu -s / #-s扫描
[root@localhost ~]# agedu -w --address 192.168.0.10:80 #-w输入一个网页链接
[root@localhost ~]# agedu -w --address 192.168.0.108080 --auth none #--auth关闭认证如果不加端口号会生成一个随机的用浏览器访问
12、安全扫描工具-NMap
NMap是Linux下的网络连接扫描和嗅探工具包用来扫描网上电脑开放的网络连接端。
下载:http://nmap.org/download.html
[root@localhost ~]# tar jxvf nmap-6.40.tar.bz2
[root@localhost nmap-6.40]# ./configure
[root@localhost nmap-6.40]# make && make install
[root@localhost ~]# nmap 192.168.0.10 #获取基本信息
[root@localhost ~]# nmap -O 192.168.0.10 #获取系统版本信息
[root@localhost ~]# nmap -A 192.168.0.10 #获取系统综合信息
[root@localhost ~]# nmap 192.168.0.0/24 #获取一个网段工作设备基本信息
-sSTCP扫描
-sV系统版本检测
13、Web压力测试-Httperf
Httperf 比 ab 更强大,能测试出 web 服务能承载的最大服务量及发现潜在问题;比如:内存使用、稳定性。最大优势:可以指定规律进行压力测试,模拟真实环境。下载:http://code.google.com/p/httperf/downloads/list
[root@localhost ~]# tar zxvf httperf-0.9.0.tar.gz
[root@localhost ~]# cd httperf-0.9.0
[root@localhost httperf-0.9.0]# ./configure
[root@localhost httperf-0.9.0]# make && make install
[root@localhost ~]# httperf --hog --server=192.168.0.202 --uri=/index.html --num-conns=10000 --wsess=10,10,0.1
参数说明:
- --hog:让 httperf 尽可能多产生连接,httperf 会根据硬件配置,有规律的产生访问连接;
- --num-conns:连接数量,总发起 10000 请求;
- --wsess:用户打开网页时间规律模拟,第一个10表示产生10个会话连接,第二个10表示每个会话连接进行10次请求,0.1表示每个会话连接请求之间的间隔时间/s。
收录于合集 #linux 11个 上一篇Linux Bash 配置揭秘下一篇2万字详解,吃透 ES 阅读 88 HPCLIB 20篇原创内容 标签:13,--,命令集,top,fail2ban,监控,进程,root,localhost From: https://www.cnblogs.com/cherishthepresent/p/17219940.html