⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 www.cnblogs.com/cjsblog/p/9562380.html 「废物大师兄」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

1、top

相当于Windows任务管理器

可以看到,输出结果分两部分,前5行是总览,下面是具体的进程资源占用情况。

下面逐行看一下

第1行

top - 18:14:58 up 112 days, 1:35, 1 user, load average: 0.00, 0.10, 0.11

依次表示:当前时间、系统已经运行的时间、当前登录的用户数、系统在过去的1分钟,5分钟,15分钟的负载

PS:从这一行我们可以知道以下信息:

  • 当前时间是18:14:58
  • 系统运行了112天1小时35分钟
  • 当前有1个用户登录
  • 在过去1分钟,5分钟,15分钟的负载分别是0.00, 0.10, 0.11

负载超过1,则表示超负荷

第2行

Tasks: 225 total, 1 running, 224 sleeping, 0 stopped, 0 zombie

进程信息

  • total    进程总数
  • running   运行中的进程数
  • sleeping  睡眠中的进程数
  • stopped  停止的进程数
  • zombie   僵尸进程数

PS:从这一行我们可以知道,当前总共225个进程

第3行

Cpu(s): 1.8%us, 0.9%sy, 0.0%ni, 97.1%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st

CPU使用情况

us :用户进程占用CPU百分比

sy :内核进程占用CPU百分比

ni :改变过优先级的进程占用CPU百分比

id :空闲CPU百分比

wa :IO等待的进程占用CPU百分比

hi :硬中断占用CPU的百分比

si :软中断占用CPU的百分比

st :

第4行

Mem: 32879852k total, 23633040k used, 9246812k free, 311552k buffers

物理内存使用情况

  • total  总的内存大小
  • used  已使用
  • free  未使用
  • buffers  内核缓冲区

可用内存 = free + buffers + cached

第5行

Swap: 4194300k total, 255104k used, 3939196k free, 10422508k cached

虚拟内存使用情况

其余行

2、free -m

查看已使用和未使用的内存情况

Mem  total = used + free

Swap  total = used + free

可用内存 = free + buffers + cached

(-buffers/cache) used内存数 = Mem行中的 used – buffers – cached

(+buffers/cache) free内存数 = Mem行中的 free + buffers + cached

3、iostat

Java 程序员必须掌握的常用 Linux 命令

格式:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]

示例:

iostat -d

iostat -d 2 2

iostat -x 1 2

4、netstat

要特别关注一下“ESTABLISHED”的数量,如果ESTABLISHED越多,表示建立的连接越多,如果一直居高不下,那么就要引起注意了,因为系统对打开的连接数是有限制的。另外,Linux 系列面试题整理好了,微信搜索Java技术栈,在后台发送面试可以获取哦。

常见应用

1、查看连接数最多的IP

netstat -na | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c

2、统计TCP不同状态的连接数

netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

5、df -h

查看文件系统磁盘空间使用情况

6、du -sh

查看(计算)文件大小

还可以这样:du --max-depth=2 --block-size=M

或者:ll --block-size=M

文章目录
  1. 1. 1、top
    1. 1.0.1. 第1行
    2. 1.0.2. 第2行
    3. 1.0.3. 第3行
    4. 1.0.4. 第4行
    5. 1.0.5. 第5行
    6. 1.0.6. 其余行
  • 2. 2、free -m
  • 3. 3、iostat
  • 4. 4、netstat
    1. 4.0.1. 1、查看连接数最多的IP
    2. 4.0.2. 2、统计TCP不同状态的连接数
  • 5. 5、df -h
  • 6. 6、du -sh