读文网>电脑>电脑硬件知识>CPU知识

关于linux的进程中的各个线程cpu占用情况进行分析和查看

CPU是电脑的重要组成部分,是不可缺少的角色。下面是读文网小编带来的关于关于linux进程中的各个线程cpu占用情况进行分析查看的内容,欢迎阅读!

关于linux的进程中的各个线程cpu占用情况进行分析和查看:

我们经常会在新开的服搭建一个游戏的服务器,有时候要进行压力测试,那么如何来看呢,一般我们会通过top命令查看各个进程的cpu和内存占用情况,获得到了我们的进程id,然后我们也许会通过pstack命令查看里边的各个线程id以及对应的线程现在正在做什么事情,分析多组数据就可以获得哪些线程里有慢操作影响了服务器的性能,从而得到解决方案。比如这样的以组数据:

[root@AY130816144542124256Z bin]# pstack 30222

Thread 9 (Thread 0x7f729adc1700 (LWP 30251)):

Thread 8 (Thread 0x7f727c579700 (LWP 30252)):

Thread 7 (Thread 0x7f7257fff700 (LWP 30253)):

Thread 6 (Thread 0x7f72397b7700 (LWP 30254)):

CFin __libc_res_nsearch () from /lib64/libresolv.so.2

Thread 5 (Thread 0x7f721af6f700 (LWP 30255)):

Thread 4 (Thread 0x7f71fc727700 (LWP 30256)):

Thread 3 (Thread 0x7f71ddedf700 (LWP 30257)):

Thread 2 (Thread 0x7f71bf697700 (LWP 30258)):

Thread 1 (Thread 0x7f72a60ae7e0 (LWP 30222)):

[root@AY130816144542124256Z gameserver]# ps -eLo pid,lwp,pcpu | grep 30222

30222 30222 31.4

30222 30251 0.0

30222 30252 0.0

30222 30253 0.0

30222 30254 0.0

30222 30255 0.0

30222 30256 1.2

30222 30257 1.2

30222 30258 1.0

多组数据显示表明我们的主逻辑线程的确占用的cpu很高,发现其实在Achieve::update() 的时候做了太多没有用的判断,并且可以减少循环进入的次数的,所以我在这里进行了优化

后来用了一下iptraf命令查看了网络流量:

第一项:IP流量监控

第二项:常规查看网卡流量状态。只查看各网卡的总流量

第三项:详细查看网卡流量状态。比如按TCP,UDP,ARP等协议查看

选all interfaces,查看所有网卡接口

界面分上下两部分,上部分可详细显示哪个与之相连的IP,发了多少包,即时流量是多少,下部分,可以显示udp等信息。

显示连接本地服务器的所有连接流量情况

另外不得不提到另外一个命令sar:

sar有很多用途,如果要来监控网络流量,使用下面的命令行方式:

sar -n DEV interval count

其中,interval是统计时间间隔,以秒为单位;count是总共统计几次,如果为0就不断的统计直到 Ctrl+C 打断,否则执行count次就退出。

比如:sar -n DEV 1 4

比如:sar -n DEV 10 0

IFACE:LAN接口

rxpck/s:每秒钟接收的数据包

txpck/s:每秒钟发送的数据包

rxbyt/s:每秒钟接收的字节数

txbyt/s:每秒钟发送的字节数

sar -n DEV -u 1 10

07:22:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmCSt/s

07:22:02 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

07:22:02 PM eth0 2.47 0.00 0.11 0.00 0.00 0.00 0.00

07:22:02 PM eth1 80.25 22.22 3.53 3.52 0.00 0.00 0.00

07:22:02 PM CPU %user %nice %system %iowait %steal %idle

07:22:03 PM all 1.85 0.00 1.06 0.00 0.00 97.09

07:22:02 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

07:22:03 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

07:22:03 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

07:22:03 PM eth1 66.67 19.75 2.95 3.22 0.00 0.00 0.00

07:22:03 PM CPU %user %nice %system %iowait %steal %idle

07:22:04 PM all 2.12 0.00 1.06 0.00 0.00 96.82

07:22:03 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

07:22:04 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

07:22:04 PM eth0 7.32 4.88 0.65 0.38 0.00 0.00 0.00

07:22:04 PM eth1 85.37 28.05 4.18 3.88 0.00 0.00 0.00

07:22:04 PM CPU %user %nice %system %iowait %steal %idle

07:22:05 PM all 3.96 0.00 2.64 0.00 0.00 93.40

07:22:04 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

07:22:05 PM lo 412.50 412.50 104.44 104.44 0.00 0.00 0.00

07:22:05 PM eth0 13.75 12.50 1.32 1.26 0.00 0.00 0.00

07:22:05 PM eth1 903.75 707.50 174.12 62.42 0.00 0.00 0.00

07:22:05 PM CPU %user %nice %system %iowait %steal %idle

07:22:06 PM all 5.25 0.00 4.46 2.10 0.00 88.19

07:22:05 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

07:22:06 PM lo 849.41 849.41 154.54 154.54 0.00 0.00 0.00

07:22:06 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

07:22:06 PM eth1 1287.06 1337.65 84.48 461.76 0.00 0.00 0.00

07:22:06 PM CPU %user %nice %system %iowait %steal %idle

07:22:07 PM all 1.85 0.00 1.06 0.00 0.00 97.09

07:22:06 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

07:22:07 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

07:22:07 PM eth0 4.94 0.00 0.22 0.00 0.00 0.00 0.00

07:22:07 PM eth1 97.53 19.75 4.32 3.18 0.00 0.00 0.00

07:22:07 PM CPU %user %nice %system %iowait %steal %idle

07:22:08 PM all 1.58 0.00 1.32 0.00 0.00 97.11

07:22:07 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

07:22:08 PM lo 4.94 4.94 0.31 0.31 0.00 0.00 0.00

07:22:08 PM eth0 1.23 0.00 0.06 0.00 0.00 0.00 0.00

07:22:08 PM eth1 67.90 24.69 3.02 3.94 0.00 0.00 0.00

Average: CPU %user %nice %system %iowait %steal %idle

Average: all 3.63 0.00 2.55 0.84 0.00 92.98

Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

Average: lo 212.61 212.61 50.54 50.54 0.00 0.00 0.00

Average: eth0 42.79 41.70 3.27 41.84 0.00 0.00 0.00

Average: eth1 492.48 432.48 53.63 110.40 0.00 0.00 0.00

相关热搜

相关文章

【CPU知识】热点

【CPU知识】最新