大家好,我是明月十四桥!!

擅长领域:python黑科技、大数据后端研发、数据仓库

今日重点

   ① 学会查看linux各种状态,包括:网络IO、磁盘、CPU、内存等;

   ② 学会理解命令所代表的含义,能够迅速发现集群存在的问题。

白天工作晚上写文,呕心沥血整理,有问题欢迎评论,点赞、收藏、评论是对我最大的支持!!!

1、核心命令

linux 监控网络IO、磁盘、CPU、内存:

  • CPU:vmstat 、sar –u、top
  • 磁盘IO:iostat –xd、sar –d、top
  • 网络IO:iftop -n、ifstat、dstat –nt、sar -n DEV 2 3
  • 磁盘容量:df –h 
  • 内存使用:free –m、top

 

2、常用命令

(1)内存:条数、每条大小、内存是DDR4还是DDR3、内存频率是2666MT/S还是1600MT/s

条数: dmidecode|grep -A5 'Memory Device'|grep Size | grep -v Installed |wc -l 

每条大小:   dmidecode|grep -A5 'Memory Device'|grep Size | grep -v Installed |uniq

内存类型:   dmidecode | grep -A16 "Memory Device" | grep 'Type:' |grep -v Unknown |uniq

内存频率:    dmidecode | grep -A16 "Memory Device" | grep 'Speed' |grep -v Unknown |uniq

(2)硬盘:块数,大小

fdisk -l | grep "Disk /dev/sd"

(3)查看什么进程占用端口

netstat -antp | fgrep <port>

(4)查看进程资源

  1. jps -l           #  获取进程id
  2. jmap -heap 21046

(5)CPU个数

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

(6)CPU核数

cat /proc/cpuinfo| grep "cpu cores"| uniq

(7)CPU主频

cat /proc/cpuinfo| grep "model name"| uniq

 


3、核心命令详解

3.1、ps aux

ps命令用于查看系统中的进程状态

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 ● USER,进程所有者的用户名。
 ● PID,进程号,可以唯一标识该进程。
 ● %CPU,进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
 ● %MEM,进程使用内存的百分比。
 ● VSZ,进程使用的虚拟内存大小,以K为单位。
 ● RSS,进程占用的物理内存的总数量,以K为单位。
 ● TTY,进程相关的终端名。
 ● STAT,进程状态,用(R--运行或准备运行;S--睡眠状态;I--空闲;Z--冻结;D--不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示。
 ● START,进程开始运行时间。
 ● TIME,进程使用的总CPU时间。
 ● COMMAND,被执行的命令行。

 


3.2、Top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

1、上半部分显示了整体系统负载情:

  • top一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值
  • Tasks一行:该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵死状态进程数
  • Cpu(s)一行:cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比
  • Mem一行:该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量
  • Swap一行:虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小

2、下半部分显示了各个进程的运行情况:

  • PID: 进程pid
  • USER: 拉起进程的用户
  • PR: 该列值加100为进程优先级,若优先级小于100,则该进程为实时(real-time)进程,否则为普通(normal)进程,实时进程的优先级更高,更容易获得cpu调度,以上输出结果中,java进程优先级为120,是普通进程,had进程优先级为2,为实时进程,migration 进程的优先级RT对应于0,为最高优先级
  • NI: 进程的nice优先级值,该列中,实时进程的nice值为0,普通进程的nice值范围为-20~19
  • VIRT: 进程所占虚拟内存大小(默认单位kB)
  • RES: 进程所占物理内存大小(默认单位kB)
  • SHR: 进程所占共享内存大小(默认单位kB)
  • S: 进程的运行状态
  • %CPU: 采样周期内进程所占cpu百分比
  • %MEM: 采样周期内进程所占内存百分比
  • TIME+: 进程使用的cpu时间总计
  • COMMAND: 拉起进程的命令

 

【桥哥有话】

1、遇到问题不要慌。根据经验,再通过命令排查内存、磁盘、网络、cpu,问题无非就这几类,切不可着急忙慌乱改一通,让简单问题复杂化。

2、根据以上命令,提前设置监控预警。监控预警能够让你及时发现系统的性能信息、比如磁盘快满了,内存超负荷了,我们可以提前作出调整。

 


CSDN官方学习推荐 ↓ ↓ ↓

为了帮助更多小白从零进阶,从CSDN官方那边搞来了一套 《Python 工程师学习成长知识图谱》,尺寸 870mm x 560mm,展开后有一张办公桌大小,也可以折叠成一本书的尺寸。

有兴趣的小伙伴可以了解一下,certainly,不管怎样博主的文章一直都是免费的~


【推荐阅读】

数据仓库专栏:数仓方法论、实战经验、面试真题 >> https://blog.csdn.net/weixin_39032019/category_8871528.html

Python专栏:Python黑科技:爬虫、算法、小工具 >> https://blog.csdn.net/weixin_39032019/category_8974792.html

大数据集锦专栏:面试真题、开发经验、调优策略  >> https://blog.csdn.net/weixin_39032019/category_11048805.html

 

我是桥哥,专注分享大数据知识体系 & Python黑科技。

求点赞、求评论、求收藏!!

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐