精华内容
下载资源
问答
  • 检测进程 CPU 利用率在对应用服务进行维护时,我们经常遇到由于 CPU 过高导致业务阻塞,造成业务中断的情况。CPU 过高可能由于业务量过负荷或者出现死循环等异常情况,通过脚本对业务进程 CPU 进行时时监控,可以在 ...

    检测进程 CPU 利用率

    在对应用服务进行维护时,我们经常遇到由于 CPU 过高导致业务阻塞,造成业务中断的情况。CPU 过高可能由于业务量过负荷或者出现死循环等异常情况,通过脚本对业务进程 CPU 进行时时监控,可以在 CPU 利用率异常时及时通知维护人员,便于维护人员及时分析,定位,以及避免业务中断。

    f51c808995f53d1441f69b45619fcd97.png

    下面的函数可获得指定进程 ID 的进程 CPU 利用率。它有一个参数为进程 ID,它首先使用 ps 查找进程信息,同时通过「grep -v」过滤掉「%CPU」行,最后通过 awk 查找 CPU 利用百分比的整数部分(如果系统中有多个 CPU,CPU 利用率可以超过 100%)。

    对业务进程 CPU 进行实时监控

    function GetCpu  {  CpuValue=`ps -p $1 -o pcpu |grep -v CPU | awk '{print $1}' | awk - F. '{print $1}'`  echo $CpuValue  }

    下面的功能是通过上面的函数 GetCpu 获得此进程的 CPU 利用率,然后通过条件语句判断 CPU 利用率是否超过限制,如果超过 80%(可以根据实际情况进行调整),则输出告警,否则输出正常信息。

    判断 CPU 利用率是否超过限制

    function CheckCpu  {  PID=$1  cpu=`GetCpu $PID`  if [ $cpu -gt 80 ]  then  {  echo “The usage of cpu is larger than 80%” }  else  {  echo “The usage of cpu is normal” }  fi  }

    示例演示:

    1)源程序(假设上面已经查询出 TestApp 的进程 ID 为 11426)

    CheckCpu 11426

    2)结果输出

    The usage of cpu is 75 The usage of cpu is normal [dyu@xilinuxbldsrv shell]$

    3)结果分析

    从上面的输出可见:TestApp 程序当前的 CPU 使用为 75%,是正常的,没有超过 80% 的告警限制。

    作为 IT 运维工程师,对单个进程CPU利用率设置监控告警可以在一定程度上降低系统异常,保障业务稳定的运行。试想,如果拥有一个能够监控全局,实现业务告警风险提醒的运维协作工具呢?定能极大提升工作效率,加强团队运维保障能力!

    b8c0e4ca14cdcc194149cd1f3f697c87.png

    王教授」帮助您更好地了解您在公有云上的所有资产状况(资产统计、健康状况诊断、监控数据汇聚、费用优化建议等),提前发现系统问题,减小了运维事故的发生。

    用了王教授!晚上不“肝”白天干!

    神仙运维生活,一招即获~欢迎点击文末王教授二维码查看详情!

    (也可访问工具地址:https://prof.wang)


    网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?

    加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....

    私信小编“联盟”,即可加入我们~

    展开全文
  • CPU 过高可能由于业务量过负荷或者出现死循环等异常情况,通过脚本对业务进程 CPU 进行时时监控,可以在 CPU 利用率异常时及时通知维护人员,便于维护人员及时分析,定位,以及避免业务中断。下面的函数可获得指定...

    在对应用服务进行维护时,我们经常遇到由于 CPU 过高导致业务阻塞,造成业务中断的情况。CPU 过高可能由于业务量过负荷或者出现死循环等异常情况,通过脚本对业务进程 CPU 进行时时监控,可以在 CPU 利用率异常时及时通知维护人员,便于维护人员及时分析,定位,以及避免业务中断。

    8861554c8c1aebd480886c609b51169c.png

    下面的函数可获得指定进程 ID 的进程 CPU 利用率。它有一个参数为进程 ID,它首先使用 ps 查找进程信息,同时通过「grep -v」过滤掉「%CPU」行,最后通过 awk 查找 CPU 利用百分比的整数部分(如果系统中有多个 CPU,CPU 利用率可以超过 100%)。

    对业务进程 CPU 进行实时监控

    function GetCpu

    {

    CpuValue=`ps -p $1 -o pcpu |grep -v CPU | awk '{print $1}' | awk - F. '{print $1}'`

    echo $CpuValue

    }

    下面的功能是通过上面的函数 GetCpu 获得此进程的 CPU 利用率,然后通过条件语句判断 CPU 利用率是否超过限制,如果超过 80%(可以根据实际情况进行调整),则输出告警,否则输出正常信息。

    判断 CPU 利用率是否超过限制

    function CheckCpu

    {

    PID=$1

    cpu=`GetCpu $PID`

    if [ $cpu -gt 80 ]

    then

    {

    echo “The usage of cpu is larger than 80%”

    }

    else

    {

    echo “The usage of cpu is normal”

    }

    fi

    }

    示例演示:

    (1) 源程序(假设上面已经查询出 TestApp 的进程 ID 为 11426)

    CheckCpu 11426

    (2) 结果输出

    The usage of cpu is 75

    The usage of cpu is normal

    [dyu@xilinuxbldsrv shell]$

    (3) 结果分析

    从上面的输出可见:TestApp 程序当前的 CPU 使用为 75%,是正常的,没有超过 80% 的告警限制。

    作为 IT 运维工程师,对单个进程CPU利用率设置监控告警可以在一定程度上降低系统异常,保障业务稳定的运行。试想,如果拥有一个能够监控全局,实现业务告警风险提醒的运维协作工具呢?定能极大提升工作效率,加强团队运维保障能力!

    【编辑推荐】

    【责任编辑:赵宁宁 TEL:(010)68476606】

    点赞 0

    展开全文
  • 您需要监控Linux服务器性能吗?可以试着使用这些内置...下面讨论的命令是系统分析和调试Linux服务器问题时最基本的一些命令,主要包括如下几个方面:找出系统瓶颈磁盘(存储)瓶颈CPU和内存瓶颈网络瓶颈。top – 过...

    您需要监控Linux服务器性能吗?可以试着使用这些内置命令和一些附加工具。大多数发行版都附带了大量的Linux监控工具。那个经典的工具图本文就不贴了。本文暂且介绍一下最为常用的性能检测和调优工具,您可以使用这些工具来查找性能问题的可能原因。下面讨论的命令是系统分析和调试Linux服务器问题时最基本的一些命令,主要包括如下几个方面:

    1. 找出系统瓶颈
    2. 磁盘(存储)瓶颈
    3. CPU和内存瓶颈
    4. 网络瓶颈。

    top – 过程活动监视命令

    top命令显示Linux进程。它提供运行系统的动态实时视图,即实际进程的活动。默认情况下,它显示服务器上运行的CPU密集型任务,并每隔五秒钟更新一次列表。

    66397fa1bec31641cbd477df1fc08c6d.png

    图1. Linux top命令

    与top监控工具一起使用的常用热键,下面是一个有用的热键列表:

    t - 关闭和打开显示摘要信息。

    M- 显示关闭和打开内存信息。

    a - 按不同系统资源的顶级使用者对显示进行排序。有助于快速识别系统中需要性能的任务。

    F - 进入顶部的交互式配置屏幕。有助于为特定任务设置top。

    o - 使您能够交互选择顶部的顺序。

    r - 发出renice命令。

    k - 发出kill命令。

    Z - 打开或关闭颜色/单声道

    vmstat – 虚拟内存统计

    vmstat命令报告有关进程、内存、分页、块IO、陷阱和CPU活动的信息。

    # vmstat 3

    输出样例:

    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 2540988 522188 5130400 0 0 2 32 4 2 4 1 96 0 0 1 0 0 2540988 522188 5130400 0 0 0 720 1199 665 1 0 99 0 0 0 0 0 2540956 522188 5130400 0 0 0 0 1151 1569 4 1 95 0 0 0 0 0 2540956 522188 5130500 0 0 0 6 1117 439 1 0 99 0 0 0 0 0 2540940 522188 5130512 0 0 0 536 1189 932 1 0 98 0 0 0 0 0 2538444 522188 5130588 0 0 0 0 1187 1417 4 1 96 0 0 0 0 0 2490060 522188 5130640 0 0 0 18 1253 1123 5 1 94 0 0

    显示Slab内存利用率

    # vmstat -m

    获取有关活动/非活动内存页的信息

    # vmstat -a

    w – 了解谁登录以及他们在做什么

    w命令显示有关计算机上的当前用户及其进程的信息。

    # w username# w vivek

    输出样例:

     17:58:47 up 5 days, 20:28, 2 users, load average: 0.36, 0.26, 0.24USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 10.1.3.145 14:55 5.00s 0.04s 0.02s vim /etc/resolv.confroot pts/1 10.1.3.145 17:43 0.00s 0.03s 0.00s w

    uptime – 告诉Linux系统运行了多长时间

    可以使用uptime命令查看服务器运行了多长时间。当前时间、系统运行时间、当前登录的用户数以及过去1、5和15分钟的系统平均负载。

    # uptime

    输出样例:

     18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.00

    1可被视为最佳负荷值。负载情况在每个系统上是有差异的,不能一概而论。对于单个CPU的系统1–3认为是良好的,而对于具体多个CPU的SMP系统,6-10负载值也是可接受的。

    ps – 显示Linux的进程列表

    ps命令将报告当前进程的快照。要选择所有进程,请使用-A或-e选项:

    # ps -A

    输出样例:

     PID TTY TIME CMD 1 ? 00:00:02 init 2 ? 00:00:02 migration/0 3 ? 00:00:01 ksoftirqd/0 4 ? 00:00:00 watchdog/0 5 ? 00:00:00 migration/1 6 ? 00:00:15 ksoftirqd/1......... 4881 ? 00:53:28 java 4885 tty1 00:00:00 mingetty 4886 tty2 00:00:00 mingetty 4887 tty3 00:00:00 mingetty 4888 tty4 00:00:00 mingetty 4891 tty5 00:00:00 mingetty 4892 tty6 00:00:00 mingetty 4893 ttyS1 00:00:00 agetty12853 ? 00:00:00 cifsoplockd12854 ? 00:00:00 cifsdnotifyd14231 ? 00:10:34 lighttpd14232 ? 00:00:00 php-cgi54981 pts/0 00:00:00 vim55465 ? 00:00:00 php-cgi55546 ? 00:00:00 bind9-snmp-stat55704 pts/1 00:00:00 ps

    ps命令和top类似,但提供了更多的信息。

    显示长格式输出

    # ps -Al

    要打开额外的完整模式(它将显示传递给进程的命令行参数)

    # ps -AlF

    显示线程 ( LWP and NLWP)

    # ps -AlFH

    在进程后监视线程

    # ps -AlLm

    显示系统上的所有进程

    # ps ax

    # ps axu

    显示进程树

    # ps -ejH

    # ps axjf

    # pstree

    获取Linux进程的安全信息

    # ps -eo euser,ruser,suser,fuser,f,comm,label

    # ps axZ

    # ps -eM

    让我们打印作为用户vivek运行的每个进程

    # ps -U vivek -u vivek u

    以用户定义的格式配置ps命令输出

    # ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm

    # ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm

    # ps -eopid,tt,user,fname,tmout,f,wchan

    尝试只显示lighttpd的进程ID

    # ps -C lighttpd -o pid=

    或者

    # pgrep lighttpd

    或者

    # pgrep -u vivek php-cgi

    打印PID 55977的名称

    # ps -p 55977 -o comm=

    前10个内存消耗进程

    # ps -auxf | sort -nr -k 4 | head -10

    向我们展示10大消耗CPU的进程

    # ps -auxf | sort -nr -k 3 | head -10

    free – 显示Linux服务器内存使用情况

    free命令显示系统中可用和已用物理内存和交换内存的总量,以及内核使用的缓冲区。

    # free

    输出样例:

    total used free shared buffers cachedMem: 12302896 9739664 2563232 0 523124 5154740-/+ buffers/cache: 4061800 8241096Swap: 1052248 0 1052248

    iostat – Montor Linux average CPU load and disk activity

    iostat命令报告设备、分区和网络文件系统(NFS)的中央处理器(CPU)统计信息和输入/输出统计信息。

    # iostat

    输出样例:

    Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009avg-cpu: %user %nice %system %iowait %steal %idle 3.50 0.09 0.51 0.03 0.00 95.86Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 22.04 31.88 512.03 16193351 260102868sda1 0.00 0.00 0.00 2166 180sda2 22.04 31.87 512.03 16189010 260102688sda3 0.00 0.00 0.00 1615 0

    sar – 监视、收集和报告Linux系统活动

    sar命令用于收集、报告和保存系统活动信息。要查看网络统计信息,输入如下命令:

    # sar -n DEV | more

    从0点开始的网络统计信息:

    # sar -n DEV -f /var/log/sa/sa24 | more

    显示实时利用率信息:

    # sar 4 5

    输出样例:

    Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/200906:45:12 PM CPU %user %nice %system %iowait %steal %idle06:45:16 PM all 2.00 0.00 0.22 0.00 0.00 97.7806:45:20 PM all 2.07 0.00 0.38 0.03 0.00 97.5206:45:24 PM all 0.94 0.00 0.28 0.00 0.00 98.7806:45:28 PM all 1.56 0.00 0.22 0.00 0.00 98.2206:45:32 PM all 3.53 0.00 0.25 0.03 0.00 96.19Average: all 2.02 0.00 0.27 0.01 0.00 97.70

    mpstat – 在Linux上监视多处理器的使用情况

    mpstat命令显示每个可用处理器的活动,处理器0是第一个。mpstat-p all显示每个处理器的平均CPU利用率:

    # mpstat -P ALL

    输出样例:

    Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/200906:48:11 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s06:48:11 PM all 3.50 0.09 0.34 0.03 0.01 0.17 0.00 95.86 1218.0406:48:11 PM 0 3.44 0.08 0.31 0.02 0.00 0.12 0.00 96.04 1000.3106:48:11 PM 1 3.10 0.08 0.32 0.09 0.02 0.11 0.00 96.28 34.9306:48:11 PM 2 4.16 0.11 0.36 0.02 0.00 0.11 0.00 95.25 0.0006:48:11 PM 3 3.77 0.11 0.38 0.03 0.01 0.24 0.00 95.46 44.8006:48:11 PM 4 2.96 0.07 0.29 0.04 0.02 0.10 0.00 96.52 25.9106:48:11 PM 5 3.26 0.08 0.28 0.03 0.01 0.10 0.00 96.23 14.9806:48:11 PM 6 4.00 0.10 0.34 0.01 0.00 0.13 0.00 95.42 3.7506:48:11 PM 7 3.30 0.11 0.39 0.03 0.01 0.46 0.00 95.69 76.89

    pmap – 在Linux上监控进程内存使用情况

    pmap命令报告进程的内存映射。使用此命令查找内存性能瓶颈的原因。

    # pmap -d PID

    要显示PID 47394的进程内存信息,请输入:

    # pmap -d 47394

    输出样例:

    47394: /usr/bin/php-cgiAddress Kbytes Mode Offset Device Mapping0000000000400000 2584 r-x-- 0000000000000000 008:00002 php-cgi0000000000886000 140 rw--- 0000000000286000 008:00002 php-cgi00000000008a9000 52 rw--- 00000000008a9000 000:00000 [ anon ]0000000000aa8000 76 rw--- 00000000002a8000 008:00002 php-cgi000000000f678000 1980 rw--- 000000000f678000 000:00000 [ anon ]000000314a600000 112 r-x-- 0000000000000000 008:00002 ld-2.5.so000000314a81b000 4 r---- 000000000001b000 008:00002 ld-2.5.so000000314a81c000 4 rw--- 000000000001c000 008:00002 ld-2.5.so000000314aa00000 1328 r-x-- 0000000000000000 008:00002 libc-2.5.so000000314ab4c000 2048 ----- 000000000014c000 008:00002 libc-2.5.so.............00002af8d48fd000 4 rw--- 0000000000006000 008:00002 xsl.so00002af8d490c000 40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so00002af8d4916000 2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so00002af8d4b15000 4 r---- 0000000000009000 008:00002 libnss_files-2.5.so00002af8d4b16000 4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so00002af8d4b17000 768000 rw-s- 0000000000000000 000:00009 zero (deleted)00007fffc95fe000 84 rw--- 00007ffffffea000 000:00000 [ stack ]ffffffffff600000 8192 ----- 0000000000000000 000:00000 [ anon ]mapped: 933712K writeable/private: 4304K shared: 768000K

    最后一行非常重要

    • mapped: 933712K 映射到文件的内存总量
    • writeable/private: 4304K 专用地址空间的数量
    • shared: 768000K 此进程与其他进程共享的地址空间量

    netstat – Linux网络和统计监控工具

    netstat命令显示网络连接、路由表、接口统计信息、伪装连接和多播成员身份。

    # netstat -tulpn

    # netstat -nat

    ss – 网络统计

    ss命令用于转储套接字统计信息。它允许显示类似于netstat的信息。请注意,netstat基本上是过时的。因此需要使用ss命令。要在Linux上SS所有TCP和UDP套接字,请执行以下操作:

    # ss -t -a

    或者

    # ss -u -a

    显示具有进程selinux安全上下文的所有TCP套接字:

    # ss -t -a -Z

    iptraf – 获取Linux上的实时网络统计信息

    iptraf命令是交互式彩色IP LAN监视器。它是一个基于ncurses的IP LAN监视器,可以生成各种网络统计信息,包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态、IP校验和错误等。它可以以易于阅读的格式提供以下信息:

    • TCP连接的网络流量统计
    • 按网络接口的IP流量统计
    • 按协议的网络流量统计
    • 按TCP/UDP端口和数据包大小统计的网络流量
    • 按第2层地址列出的网络流量统计信息
    0bb324128ffcdce0371763572187428a.png

    图2. iptraf一般接口统计

    1c297a8e05f5a30d95a9f83e7b8e930c.png

    图3 通过TCP连接统计网络传输情况

    tcpdump –详细的网络流量分析

    tcpdump命令是在网络上转储数据的简单命令。但是,您需要很好地理解TCP/IP协议才能使用此工具。例如,要显示有关DNS的流量信息,请输入:

    # tcpdump -i eth1 'udp port 53'

    查看进出端口80的所有IPv4 HTTP数据包,即仅打印包含数据的数据包,而不是syn和fin数据包和ack-only数据包,输入:

    # tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

    显示到202.54.1.5的所有ftp会话,输入:

    # tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'

    显示到192.168.1.5的所有HTTP会话:

    # tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'

    使用wireshark查看有关文件的详细信息,输入:

    # tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

    iotop – Linux I/O 监控

    iotop命令监视器I/O利用率信息,基于Linux内核。它显示了按服务器上的进程或线程排序的当前I/O使用情况表。

    $ sudo iotop

    输出样例:

    592a554002f8ee2b6735c757bd2261dc.png

    htop – interactive process viewer

    htop是一个基于ncurses的免费开源Linux进程查看器。它比top命令要好用得多。非常容易使用,您可以在不使用PIDS或离开htop接口的情况下选择要终止或重新冻结的进程。

    $ htop

    输出样例:

    2962bbb81e5264000e5697b840090039.png

    atop – 高级Linux系统和进程监视器

    atop是一个非常强大的交互式监视器,可以查看Linux系统上的负载。它从性能角度显示最关键的硬件资源。您可以快速看到CPU、内存、磁盘和网络性能。它显示了在进程级别上,哪些进程负责与CPU和内存负载相关的指示负载。

    $ atop

    795c360017e5eed9e746ab4d4b0d1c76.png

    ac and lastcomm

    您必须监视Linux服务器上的进程和登录活动。psacct或acct包包含多个用于监控流程活动的实用程序,包括:

    1. ac命令:显示有关用户连接时间的统计信息
    2. lastcomm命令:显示有关以前执行的命令的信息
    3. accton命令:打开或关闭进程记帐
    4. sa命令:汇总会计信息

    monit – 过程监督

    monit是一个免费开源的软件,充当进程的看门狗。它具有重新启动失败服务的能力。您可以使用systemd、daemontools或任何其他类似的工具来实现相同的目的。

    nethogs- 找出在Linux上占用带宽最多的pids

    NetHogs是一种小型但方便的网络top工具。它按进程名(如firefox、wget等)对带宽进行分组。如果网络流量突然爆发,启动网管。您将看到哪个PID导致带宽激增。

    $ sudo nethogs

    09b81a5653793b0082bccc6bb18cce6f.png

    iftop – 按主机显示接口上的带宽使用情况

    iftop命令监听给定接口名(如eth0)上的网络流量。它按主机对显示当前带宽使用情况的列表。

    $ sudo iftop

    vnstat – 基于控制台的网络流量监视器

    vnstat 是一个易于使用的基于控制台的Linux网络流量监视器。它为所选接口保留每小时、每天和每月网络流量的日志。

    $ vnstat

    nmon – Linux系统管理员、调优者、基准测试工具

    nmon是linux系统管理员的终极工具,它主要用于性能调优。它可以从控制台显示CPU、内存、网络、磁盘、文件系统、NFS、顶级进程资源和分区信息。

    $ nmon

    5d276a443785005383fc8be3795a1c8c.png

    glances – 给Linux系统按一个眼睛

    glances是一个开源的跨平台监控工具。它在小屏幕上提供大量信息。它还可以在客户机/服务器模式下工作。

    $ glances

    strace – 在Linux上监视系统调用

    要跟踪Linux系统调用和信号吗?尝试strace命令。这对于调试Web服务器和其他服务器问题很有用。了解如何使用跟踪流程并了解它在做什么。

    /proc/ 文件系统 – 各种Linux内核统计信息

    /proc file system提供有关各种硬件设备和其他Linux内核信息的详细信息。有关更多详细信息,请参阅Linux内核/proc文档。常见/过程示例:

    # cat /proc/cpuinfo

    # cat /proc/meminfo

    # cat /proc/zoneinfo

    # cat /proc/mounts

    Nagios – Linux服务器/网络监控

    Nagios是一款流行的开源计算机系统和网络监控应用软件。您可以轻松地监视所有主机、网络设备和服务。它可以在出现问题时发出警报,在情况好转时再次发出警报。风扇是“全自动Nagios”。Fan的目标是提供Nagios安装,包括Nagios社区提供的大多数工具。Fan以标准ISO格式提供了一个cdrom映像,使安装Nagios服务器变得容易。此外,为了改善Nagios周围的用户体验,发行版中还包括了大量工具。

    Cacti – 基于Web的Linux监控工具

    Cacti是一个完整的网络绘图解决方案,旨在利用rrdtool的数据存储和绘图功能。Cacti提供了快速轮询、高级图形模板、多种数据采集方法和开箱即用的用户管理功能。所有这些都被包装在一个直观、易于使用的界面中,这对于局域网大小的安装(包括具有数百个设备的复杂网络)是有意义的。它可以提供关于网络、CPU、内存、登录用户、Apache、DNS服务器等的数据。请参阅centos/rhel下的如何安装和配置cacti网络绘图工具。

    KDE 系统守卫 –实时Linux系统报告和绘图

    ksysguard是一个用于KDE桌面的网络化的任务和系统监控应用程序。这个工具可以在ssh会话上运行。它提供了许多功能,例如客户端/服务器体系结构,可以监视本地和远程主机。图形前端使用所谓的传感器来检索它显示的信息。传感器可以返回简单的值或更复杂的信息,如表。对于每种类型的信息,提供一个或多个显示器。在工作表中组织显示,这些工作表可以相互独立地保存和加载。因此,ksysguard不仅是一个简单的任务管理器,而且是一个非常强大的工具来控制大型服务器场。

    357d2c663694aa3c81d8f4e21dfdfe97.png

    图 KDE系统监控软件

    Gnome Linux 系统监控

    系统监视器应用程序使您能够显示基本的系统信息和监视系统进程、系统资源的使用情况和文件系统情况。还可以使用系统监视器修改系统的行为。虽然不如KDE系统保护功能强大,但它提供了对新用户有用的基本信息。

    • 显示有关计算机硬件和软件的各种基本信息。
    • Linux内核版本
    • GNOME 版
    • 硬件
    • 已安装内存
    • 处理器和速度
    • 系统状态
    • 当前可用磁盘空间
    • 过程
    • 内存和交换空间
    • 网络使用
    • 文件系统
    • 列出所有安装的文件系统以及每个文件系统的基本信息。
    e9130e289ee8486f5d2fe3660a305036.png

    Gnome系统监控程序

    除了上述介绍的监控工具外,还有大名鼎鼎的zabbix和Open-Falcon等适合在局域网内进行监控的工具。本文就不再详细介绍了。

    展开全文
  • 一、服务器带宽检测的办法1、Linux 终端下使用Speedtest测试curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -Speedtest测试2、Windows网页在线测试Speedtest by ...

    06b3059a8e50dfa6f6f3eed5a2fc9667.png

    一、服务器带宽检测的办法

    1、Linux 终端下使用Speedtest测试

    curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

    b06a379b68f1e30416e8820effeae6c4.png

    Speedtest测试

    2、Windows网页在线测试

    Speedtest by Ookla - The Global Broadband Speed Test

    测速网 - 在线网速测试,网络测速 - http://SpeedTest.cn

    3、览器插件(Chrome)

    插件名称如下图所示,扶墙请自行解决

    05398e6f34e78c2659f7dba368f6d605.png

    Windows网页在线测试

    dea64d3ce231b7a37e0f2599de66de93.png

    插件测试

    二、云服务器带宽占用过高的解决办法

    当发现ECS服务器带宽利用率过高的时候,通常希望第一时间找到哪一个进程占用了带宽,从而才能够分析并且处理,接下来我们就具体介绍一下Linux和Windows系统下如何使用对应的工具找到并且处理占用带宽高的进程。

    1、Linux下查看进程的带宽使用情况

    NetHogs 介绍

    NetHogs 是 Linux 平台下的一个开源命令行工具,用来实时统计各进程的带宽使用情况。在 CentOS 下可以使用如下命令进行安装:

    yum install nethogs

    NetHogs 使用方法

    终端输入以下命令可以看到 NetHogs 的可用参数以及具体用法。

    nethogs -h

    21cc0e5fcd28f0d94e1851f1cc3e4c2c.png

    Linux查看带宽使用情况

    下面介绍下常用的参数:

    -d:设置刷新的时间间隔,默认为 1s。

    -t:跟踪模式。

    -c:更新次数。

    device:设置要监控的网卡,默认是 eth0。

    运行时可以输入以下参数完成相应的操作:

    q:退出。

    s:按发送流量进行排序。

    r:按接收流量进行排序。

    m:切换是显示各进程使用的网络速率亦或是使用的流量,或者使用流量的计量单位。切换顺序为 KB/s > KB > B > MB。

    下图展示了在 Linux 上运行 nethogs -d 10 并按发送数据量进行排序的结果,以此为示例,介绍 NetHogs 的输出。通过切换按发送/接收流量排序,可以很方便的获取占用发送/接收流量较多的进程。

    49580ec69ff18d7885a034b77852c71e.png

    nethogs -d 10

    PID:进程 ID。
    USER:运行该进程的用户。
    PROGRAM:程序名或IP端口号。
    DEV:流量要去往的网络接口。
    SENT:进程每秒发送的数据量。
    RECEIVED:进程每秒接收的数据量。

    Windows下查看进程的带宽使用情况

    2、Windows 资源监视器

    资源监视器是 Windows下以进程为单位了解 CPU、内存、磁盘、网络等资源的使用情况的工具。
    可以在任务管理器,性能 tab 单击打开资源监视器打开。

    0709983225540a6d6134af5e3023a89e.png

    Windows性能监控

    或者在运行中输入 resmon.exe,确定打开

    ad18e6fcf5f2a219738d6fe159b52ef4.png

    resmon.exe

    单击资源监视器的网络 tab,就可以看到每个进程的带宽使用情况。单击发送,按发送数据量进行排序,单击接收按照接收数据量进行排序。排序后,可以方便的看到具体是哪个进程占用了网络资源。

    6093398806fba291bbad854fe26b6095.png

    带宽监控

    结果分析及处理

    知道占用资源较多的进程后,需要分析进程所属的类型,然后进行:

    分析是否正常进程(系统进程/业务常见进程)起。如果无法完全确认,建议使用进程名进程搜索确认。

    如果是异常进程,实例可能中毒,可以自行终止进程、使用安全软件进行查杀或者进行数据备份后,重装系统。

    正常的业务进程,分析是否有大量的网络访问行为,是否通过压缩文件解决网络带宽的资源瓶颈。否则建议升级实例配置。

    转载链接:https://www.xinruiyun.cn/zhishiku/4233.html

    展开全文
  • 网站访问量大的时候MySQL的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法就是重启mysql服务。由于这种事具有不可预见性,我们不知道什么时候mysql的占用率达到...
  • 小结:CPU性能指标与性能工具 根据指标找工具 平均负载 uptime top uptime最简单 系统整体CPU利用率 top vmstat ... 进程CPU利用率...
  • valgrind通常用来成分析程序性能及程序中的内存泄露错误一Valgrind工具集简绍Valgrind包含下列...3、cachegrind:分析CPU的cache命中、丢失,用于进行代码优化。4、helgrind:用于检查多线程程序的竞态条件。...
  • valgrind通常用来成分析程序性能及程序中的内存泄露错误 一Valgrind工具集简绍 Valgrind包含下列工具: 1、memcheck:检查程序中的内存问题,...3、cachegrind:分析CPU的cache命中、丢失,用于进行代码优化...
  • 如何检测Linux内核的Rootkit

    千次阅读 2020-04-12 10:58:31
    最近一段时间搞了些Rootkit攻略,每个方法都比较彻底,无论是隐藏进程,还是隐藏CPU利用率,隐藏TCP连接,隐藏文件,甚至隐藏CPU风扇的狂转,均采用了相对底层的方案,一般的Rootkit检测很难检测到。 所谓的一般的...
  • Valgrind通常用来成分析程序性能及程序中的内存泄露错误 一 Valgrind工具集简绍 ... 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。... 3、cachegrind:分析CPU的cache命中、丢失
  • Iostat显示自系统启动后的平均CPU时间(与uptime类似),也可以显示磁盘子系统的使用情况,iostat用来监测CPU利用率和磁盘利用率。Linux 性能检测工具iostat%user:user level(应用)的CPU占用率情况%nice:加入...
  • Linux是一个文件系统,任何有关Linux系统运行的信息都会被包含到特定的文件里,这次我实现的是将cpu利用率与内存利用率和网速展示在前台,首先是读取相关文件信息插入到mysql数据库,再从数据库读取信息到前端 ...
  • valgrind通常用来成分析程序性能及程序中的内存泄露错误 一Valgrind工具集简绍 Valgrind包含下列工具: 1、memcheck:检查程序中的内存...3、cachegrind:分析CPU的cache命中、丢失,用于进行代码优化。 ...
  • 原理说明在对服务器进行维护时,有时也遇到由于系统 CPU(利用率)负载过高导致业务中断的情况。服务器上可能运行多个进程,查看单个进程的 CPU 都是正常的,但是整个系统的 CPU 负载可能是异常的。通过脚本对系统 CPU...
  • 查看进程,按CPU利用率从大到小排序 ps -e -o "%C : %p : %z : %a"|sort -nr 查看剩余内存 free -m |grep "Mem" | awk "{print $2}" 获取环境变量中path路径 echo ${PATH) 转载于:https://ww...
  • 主要介绍了Shell脚本实现Linux系统和进程资源监控,本文讲解了检查进程是否存在、检测进程 CPU 利用率检测进程内存使用量、检测进程句柄使用量、,需要的朋友可以参考下
  • Linux 性能调优(1)

    2019-06-15 13:52:25
    读书笔记--- linux 性能调优指南 (首先建议对内核又足够的了解,尤其内存管理,不然很多概念很难理解) 1.理解linux 操作系统 2.监控和检测工具 3.分析性能瓶颈 ...中,如果CPU利用率持续高...
  • 在服务器运维过程中,经常需要对服务器的各种资源进行监控,例如:CPU的负载监控,...文章目录:1.Linux使用 Shell 检查进程是否存在2.Linux使用 Shell检测进程 CPU 利用率3.Linux使用 Shell检测进程内存使用量4.Lin...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

linux检测cpu利用率

linux 订阅