文章目录

  • 全局监控
    • top
  • CPU监控
    • uptime
  • 内存监控
    • free
    • vmstat
  • 磁盘监控
    • df
    • iostat
  • 网络监控
    • netstat
  • 进程监控
    • ps
    • lsof

在我们使用Linux进行开发、运维时,难免会出现一些问题,而要解决这些问题我们就需要获取到系统当前的一些运行信息,来帮助我们快速锁定问题的原由,下面就介绍几个Linux常用的性能监控的命令。

全局监控

top

top用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。

[lee@VM-0-6-centos ~]$ top
top - 23:32:37 up 74 days, 13:49,  1 user,  load average: 0.23, 0.44, 0.46
Tasks: 109 total,   1 running, 108 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.3 us,  0.3 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3880184 total,   151180 free,  1167056 used,  2561948 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2414408 avail MemPID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
15946 lee       20   0 2849664 484172  22256 S   2.0 12.5   3033:06 java1087 root      20   0   50088    968    636 S   1.3  0.0   1438:53 rshim3708 root      20   0 1026744  64760  11116 S   1.0  1.7 399:22.01 YDService
15922 root      20   0  205124   3144   1484 S   0.3  0.1  47:21.85 docker-proxy-cu
29931 root      20   0  742708  14424   2268 S   0.3  0.4  89:52.08 barad_agent1 root      20   0  125600   4180   2648 S   0.0  0.1   7:15.25 systemd2 root      20   0       0      0      0 S   0.0  0.0   0:05.53 kthreadd4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H6 root      20   0       0      0      0 S   0.0  0.0   7:10.22 ksoftirqd/07 root      rt   0       0      0      0 S   0.0  0.0   0:28.46 migration/08 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh9 root      20   0       0      0      0 S   0.0  0.0  38:42.32 rcu_sched

CPU监控

uptime

uptime主要用于获取当前时间、系统运行的时间、当前登录用户数,以及最近1、5、15分钟的CPU负载情况。

[root@VM-0-6-centos lee]# uptime23:53:21 up 74 days, 14:10,  1 user,  load average: 0.51, 0.27, 0.26

内存监控

free

free主要用于监控内存与交换分区的使用情况。从左往右一次的参数为内存总量,已使用空间,未使用空间,共享内存,缓存,可用内存。

[lee@VM-0-6-centos ~]$ freetotal        used        free      shared  buff/cache   available
Mem:        3880184     1161644      149460         836     2569080     2419820
Swap:             0           0           0

vmstat

vmstat命令是用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 模块、中断、CPU 活跃状态等更多信息。

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st1  1      0 124908 135168 2455520    0    0     0    15    2    2  2  1 97  0  0

磁盘监控

df

Linux中可以使用df命令来监控当前硬盘的使用情况。从左到右的参数依次为磁盘名、磁盘大小、已使用空间、剩余可使用空间、使用率、挂载点。

[lee@VM-0-6-centos ~]$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
devtmpfs         1928476        0   1928476   0% /dev
tmpfs            1940092       24   1940068   1% /dev/shm
tmpfs            1940092      812   1939280   1% /run
tmpfs            1940092        0   1940092   0% /sys/fs/cgroup
/dev/vda1       51473868 10309776  38966848  21% /
tmpfs             388020        0    388020   0% /run/user/0
tmpfs             388020        0    388020   0% /run/user/1000

iostat

iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。(第三方包sysstat中)

[root@VM-0-6-centos lee]# iostat
Linux 3.10.0-1160.11.1.el7.x86_64 (VM-0-6-centos)   07/31/2021  _x86_64_    (2 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle2.19    0.00    1.19    0.06    0.00   96.56Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               3.49         0.26        30.56    1660614  196986440
scd0              0.00         0.02         0.00     138978          0

网络监控

netstat

netstat主要用于对网络信息进行监控,包含如网络连接、路由表、网络接口统计等信息,同时也可以查看当前正在运行的端口。

[lee@VM-0-6-centos ~]$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 VM-0-6-centos:34626     172.17.0.2:wap-wsp      ESTABLISHED
tcp        0      0 VM-0-6-centos:34644     172.17.0.2:wap-wsp      ESTABLISHED
tcp        0      0 VM-0-6-centos:ssh       mail.xegyptgroup.:51518 ESTABLISHED
tcp        0      0 VM-0-6-centos:58272     172.17.0.2:wap-wsp      ESTABLISHED
tcp        0      0 VM-0-6-centos:ssh       121.4.180.253:47440     TIME_WAIT
tcp        0     52 VM-0-6-centos:ssh       61.49.248.105:58641     ESTABLISHED
tcp        0      0 VM-0-6-centos:34606     172.17.0.2:wap-wsp      ESTABLISHED
tcp        0   1013 VM-0-6-centos:ssh       138.68.80.132:56406     ESTABLISHED
tcp        0      0 VM-0-6-centos:50170     169.254.0.4:http        TIME_WAIT
tcp        0      0 VM-0-6-centos:ssh       61.49.248.105:58642     ESTABLISHED
tcp        0      0 VM-0-6-centos:42322     169.254.0.55:lsi-bobcat ESTABLISHED
tcp        0      0 VM-0-6-centos:ssh       220.85.233.146:48014    TIME_WAIT
tcp        0      0 VM-0-6-centos:34634     172.17.0.2:wap-wsp      ESTABLISHED
tcp        0      0 VM-0-6-centos:34618     172.17.0.2:wap-wsp      ESTABLISHED
tcp        0      0 VM-0-6-centos:54574     169.254.0.55:webcache   TIME_WAIT
tcp        0      0 VM-0-6-centos:34632     172.17.0.2:wap-wsp      ESTABLISHED
tcp        0      0 VM-0-6-centos:34600     172.17.0.2:wap-wsp      ESTABLISHED
tcp6       0      0 172.21.0.6:wap-wsp      172.17.0.3:48028        ESTABLISHED

进程监控

ps

ps主要用于查看进程的使用情况

[lee@VM-0-6-centos ~]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 May18 ?        00:07:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2     0  0 May18 ?        00:00:05 [kthreadd]
root         4     2  0 May18 ?        00:00:00 [kworker/0:0H]
root         6     2  0 May18 ?        00:07:10 [ksoftirqd/0]
root         7     2  0 May18 ?        00:00:28 [migration/0]
root         8     2  0 May18 ?        00:00:00 [rcu_bh]
root         9     2  0 May18 ?        00:38:42 [rcu_sched]
root        10     2  0 May18 ?        00:00:00 [lru-add-drain]

lsof

lsof主要以列表的形式显示打开的文件和进程,打开的文件主要包括磁盘文件、网络套接字、管道、设备和进程。

[lee@VM-0-6-centos ~]$ lsof
COMMAND     PID   TID           USER   FD      TYPE DEVICE  SIZE/OFF     NODE NAME
systemd       1                 root  cwd   unknown                           /proc/1/cwd (readlink: Permission denied)
systemd       1                 root  rtd   unknown                           /proc/1/root (readlink: Permission denied)
systemd       1                 root  txt   unknown                           /proc/1/exe (readlink: Permission denied)
systemd       1                 root NOFD                                     /proc/1/fd (opendir: Permission denied)
kthreadd      2                 root  cwd   unknown                           /proc/2/cwd (readlink: Permission denied)
kthreadd      2                 root  rtd   unknown                           /proc/2/root (readlink: Permission denied)
kthreadd      2                 root  txt   unknown                           /proc/2/exe (readlink: Permission denied)
kthreadd      2                 root NOFD                                     /proc/2/fd (opendir: Permission denied)
kworker/0     4                 root  cwd   unknown                           /proc/4/cwd (readlink: Permission denied)

Linux常见的一些性能监控命令相关推荐

  1. Unix/Linux 磁盘 I/O 性能监控命令

    2019独角兽企业重金招聘Python工程师标准>>> 怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式: Top可以看到的cpu信息有: Tasks: 29 to ...

  2. Linux(CentOS)性能监控命令free

    1.free -h [root@Beta-nginx test1]# free -h free: invalid option -- 'h' usage: free [-b|-k|-m|-g] [-l ...

  3. Linux(CentOS)性能监控命令strace

    1.简介 strace 常用来跟踪进程执行时的系统调用和所接收的信号.在Linux 世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换 ...

  4. 六个 Linux性能监控命令行工具

    六个 Linux性能监控命令行工具  1.htop - http://htop.sourceforge.net/ 一个可以让用户与之交互的进程查看器.作为文本模式的应用程序,主要用于控制台或 X 终端 ...

  5. linux Centos下搭建性能监控Spotlight on Unix

    公司要做压力测试,有Linux服务器一台,系统Centos6.5,为了直观的展示系统性能,更好的去分析服务器,故要搭建一个监控.闲言休讲,直奔主题. 首先,Linux服务器一台:系统Centos6.5 ...

  6. windows CPU性能监控命令

    windows CPU性能监控命令 分别为用户CPU时间  系统CPU时间   总CPU时间 typeperf "\Processor(_Total)\% User Time" & ...

  7. linux进程网络监控,linux下的进程、网络、性能监控命令

    Linux下的java虚拟机性能监控与故障处理命令 java包中提供了很多监控JVM的工具类,作为java程序员必须得掌握常用的几个工具,下面是几个常用的JVM性能监控与故障处理工具的介绍与使用. 1 ...

  8. linux 总数 进程_linux性能监控之 top 家族(1)

    点击查看>> 2020年第一期<接口自动化由浅入深>课程,4月5号开学! top家族之一(TOP) 在linux上敲top就能看到一大坨监控命令,眼花缭乱 TOP命令是Linu ...

  9. linux如何脚本监控tps,对Linux进行详细的性能监控的方法

    这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和 ...

最新文章

  1. web应用的负载均衡、集群、高可用(HA)解决方案
  2. C语言程序的基本结构
  3. OpenCASCADE :VTK集成服务(VIS) 之组件架构
  4. 程序人生:无他,唯心向尔
  5. [bzoj3625][Codeforces 250 E]The Child and Binary Tree(生成函数+多项式运算+FFT)
  6. 项目管理基础:软件生命周期概念介绍
  7. [Angularjs]angular ng-repeat与js特效加载先后导致的问题
  8. 通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statement
  9. 脚本升级openssh
  10. Hive下载安装及配置
  11. 安装win2008R2系统并激活
  12. access里面的表达式运用_Access表达式
  13. 五一快乐假期每天都在上课qaq
  14. raid之创建磁盘列阵raid-0
  15. Spark MLlib系列(二):基于协同过滤的电影推荐系统
  16. 外呼防封系统源码提供
  17. 两款非常好的Redis 可视化管理工具:Another Redis Desktop Manager、QuickRedis
  18. IT人生知识分享:博弈论的理性思维
  19. 四川省地图(SVG)——DIY
  20. 《知识就是力量》第七期——“怎样成为不纠结的人”笔记

热门文章

  1. Redis分布式锁原理解析
  2. dom4kj解析xml
  3. bootstrap起步 全局css样式概览 全局css样式_栅格 全局css样式_排版
  4. 第五章:系统困境之 你的努力忽略了关键限制因素
  5. maven jetty运行时,js无法保存
  6. chrome浏览器最小字号解决方案
  7. 介绍一个基于simhash作海量文章排重的库:simhashpy
  8. JVM内存溢出分析-实战JVM(二)
  9. 音乐社交APP源码ios版
  10. PHP客户端缓存控制