700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【Linux】之 Linux 性能监控工具

【Linux】之 Linux 性能监控工具

时间:2020-06-20 03:47:31

相关推荐

【Linux】之 Linux 性能监控工具

目录

一、字符界面工具 tophtopiotopglances 二、图形化界面工具 bottomnetdata

一、字符界面工具

1、top

Top命令为Linux系统默认自带的性能监控命令:

[user@localhost home]$ toptop - 11:28:13 up 1 day, 48 min, 1 user, load average: 0.00, 0.02, 0.05Tasks: 89 total, 2 running, 87 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 stKiB Mem : 498684 total, 75676 free, 240852 used, 182156 buff/cacheKiB Swap: 2097148 total, 1824136 free, 273012 used. 243372 avail MemPID USERPR NI VIRT RES SHR S %CPU %MEMTIME+ COMMAND1 root20 0 128036 3780 2312 S 0.0 0.8 0:01.44 systemd2 root20 0 000 S 0.0 0.0 0:00.00 kthreadd4 root 0 -20 000 S 0.0 0.0 0:00.00 kworker/0:0H5 root20 0 000 S 0.0 0.0 0:00.51 kworker/u2:06 root20 0 000 S 0.0 0.0 0:00.54 ksoftirqd/07 rootrt 0 000 S 0.0 0.0 0:00.00 migration/08 root20 0 000 S 0.0 0.0 0:00.00 rcu_bh

各项含义:

PID:进行的标识号;USER:运行此进程的用户;PR/PRI:进程的优先级;NI:进程的优先级别值,默认的为0,可以进行调整;VIRT:进程占用的虚拟内存值;RES:进程占用的物理内存值;SHR:进程占用的共享内存值;S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态;%CPU:该进程占用的CPU使用率;%MEM:该进程占用的物理内存和总内存的百分比;TIME+:该进程启动后占用的总的CPU时间;COMMAND:进程启动的启动命令名称;

2、htop

htop是top的扩展版本,能更全面的监控进程(比如:全命令展示,可视化、gui 和 ui)通过点击鼠标进行交互,更有很丰富的指导说明如何管理进程

安装命令(CentOS):

yum -y install epel-releaseyum -y install htop

直接运行命令:

[user@localhost home]$ htop

效果如下:

我们可以通过直接点击各列来进行排序,比如点击CPU%则按CPU的占比进行排序。

3、iotop

iotop可以实时监控IO的情况,它将显示出被监控进程的详细的写入读出(IO) 情况。

安装命令(CentOS):

yum install iotop

直接运行命令,监控所有进程:

[user@localhost home]$ iotopTotal DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/sActual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/sTID PRIO USERDISK READ DISK WRITE SWAPINIO> COMMAND1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]5 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u2:0]

可以指定进程:

[user@localhost home]$ iotop -p Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/sActual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/sTID PRIO USERDISK READ DISK WRITE SWAPINIO> COMMAND be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % java -jar demo-server-1.2.2.jar

列出信息中最有用的就是DISK WRITE列了,从这就能看到每个进程的IO到底是多少 K/秒。

4、glances

Glances命令会分栏显示一些很有用的实时动态数据, 其目标就是利用最小的空间显示尽可能多的有用信息。Glances监控了PerCPU,负载,内存,数据交换,网络,磁盘I/O,加载数据和进程。

安装命令(CentOS):

yum install -y glances

运行命令:

[user@localhost home]$ glnaceslocalhost.localdomain (CentOS Linux 7.8. 64bit / Linux 3.10.0-1127.el7.x86_64) Uptime: 1 day, 1:11:36CPU [ 3.2%] CPU 3.2% nice:0.0% MEM52.7% active:138M SWAP13.2% LOAD 1-coreMEM [ 52.7%] user:2.3% irq:0.0% total: 487M inactive: 192M total: 2.00G 1 min: 0.00SWAP [ 13.2%] system: 0.6% iowait: 0.0% used: 257M buffers:24K used:271M 5 min: 0.01idle: 97.1% steal: 0.0% free: 230M cached:183M free: 1.74G 15 min: 0.05NETWORKRx/s Tx/s TASKS 89 (218 thr), 2 run, 87 slp, 0 oth sorted automatically by cpu_percent, flat viewdocker0 0b0beth0 152b 152bCPU% MEM% VIRT RES PID USER NI STIME+ IOR/s IOW/s Commandeth1 152b 880b2.9 3.2 225M 15.5M 3159 root 0 R 0:00.5400 /usr/bin/python /uslo 0b0b0.3 0.2 57.1M 824K 1299 polkitd0 S 1:24.0000 redis-server *:6379_h2d311a80b0b0.3 0.000 3158 root 0 S 0:00.1000 kworker/0:1_h77ccd2c0b0b0.3 22.8 2.10G 111M root 0 S 1:02.7000 java -jar config-se0.0 0.0006 root 0 R 0:00.5700 ksoftirqd/0DISK I/OR/s W/s0.0 0.000 16 root -20 S 0:00.0000 writebacksda 0 9880.0 0.000 21 root -20 S 0:00.0000 kblockdsda1 0 9880.0 0.000 47 root -20 S 0:00.0000 ipv6_addrconf0.0 0.000 45 root -20 S 0:00.0000 kaluadFILE SYS Used Total0.0 0.1 204M 620K 1243 root 0 S 0:00.5000 /usr/bin/docker-pro/ (sda1) 7.53G 40.0G0.0 0.1 54.2M 688K 299 root -4 S 0:00.6000 /sbin/auditd0.0 0.6 683M 2.71M 416 root 0 S 0:01.9600 /usr/sbin/NetworkMa0.0 0.000 20 root -20 S 0:00.0000 bioset

二、图形化界面工具

1、bottom

这是一个使用Rust编写的跨平台图形界面监控工具,其开源项目地址:/ClementTsang/bottom。

安装命令(CentOS):

# 安装 dnfyum install dnf# 使用 dnf 安装 coprdnf install 'dnf-command(copr)'# 安装 bottomdnf copr enable atim/bottomdnf install bottom

运行bottom:

[user@localhost home]$ btm

(可以添加颜色主题参数,比如:--color nord

2、netdata

炫酷的监控工具,同时也是开源免费的项目,开源地址为:/netdata/netdata

一键脚本安装命令:

wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh

Docker安装(建议首选该方式!):

docker run -d --name=netdata \-p 19999:19999 \-v netdataconfig:/etc/netdata \-v netdatalib:/var/lib/netdata \-v netdatacache:/var/cache/netdata \-v /etc/passwd:/host/etc/passwd:ro \-v /etc/group:/host/etc/group:ro \-v /proc:/host/proc:ro \-v /sys:/host/sys:ro \-v /etc/os-release:/host/etc/os-release:ro \--restart unless-stopped \--cap-add SYS_PTRACE \--security-opt apparmor=unconfined \netdata/netdata

如果是docker安装的话就使用docker相关命令控制该容器的启动和关闭即可,下面介绍脚本安装的操作命令:

# 启动 netstatsystemctl start netdata# 关闭 netstatsystemctl stop netdata# 查看 netstat 运行状态systemctl status netdata

启动成功之后可以看到以下运行状态:

[user@localhost home]$ systemctl status netdata● netdata.service - Real time performance monitoringLoaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled)Active: active (running) since Tue -03-01 16:12:32 CST; 6s agoProcess: 9088 ExecStartPre=/bin/chown -R netdata:netdata /var/run/netdata (code=exited, status=0/SUCCESS)fdProcess: 9086 ExecStartPre=/bin/mkdir -p /var/run/netdata (code=exited, status=0/SUCCESS)Process: 9083 ExecStartPre=/bin/chown -R netdata:netdata /var/cache/netdata (code=exited, status=0/SUCCESS)Process: 9082 ExecStartPre=/bin/mkdir -p /var/cache/netdata (code=exited, status=0/SUCCESS)Main PID: 9090 (netdata)Tasks: 38Memory: 77.8MCGroup: /system.slice/netdata.service├─9090 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D├─9094 /usr/sbin/netdata --special-spawn-server├─9211 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1├─9215 /usr/libexec/netdata/plugins.d/apps.plugin 1├─9219 /usr/libexec/netdata/plugins.d/go.d.plugin 1└─9222 /usr/bin/python3 /usr/libexec/netdata/plugins.d/python.d.plugin 1

启动成功之后,在浏览器输入:http://ip:19999(ip为netdata所在服务器地址)即可看到(记得开放 19999 端口):

注意:该工具会占用比较大的内存和CPU,并且Netdata为了监控,还安装了很多其它软件,长期在后台运行,严重影响了服务器速度,所以不建议实际生产环境服务器安装!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。