检查数据库服务器的内存,发现内存使用率90%以上

1.最开始使用的命令free -h、top,top结果查看如下:

top结果看这两行:
①Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
0.0%us    用户空间占用CPU百分比
0.0%sy    内核空间占用CPU百分比
0.0%ni    用户进程空间内改变过优先级的进程占用CPU百分比
100.0%id    空闲CPU百分比
0.0%wa    等待输入输出的CPU时间百分比
0.0%hi    硬中断(Hardware IRQ)占用CPU的百分比
0.0%si    软中断(Software Interrupts)占用CPU的百分比
0.0 st    用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间
————————————————
②Mem: 1922488k total, 406936k used, 1515552k free, 11940k buffers
1922488k total    物理内存总量
406936k used    使用的物理内存总量
1515552k free    空闲内存总量
11940k buffers    用作内核缓存的内存量

2.如果free看到内存使用率90%以上,那要仔细观察uesd和buffer/cache,free=total-used-buffer/cache;

除了free -h,以下是进阶版查内存使用情况:

free -s 2 -c 5 h
-s 2: 这个选项指定了更新的时间间隔,单位是秒。在这个例子中,设置为2秒,表示每2秒更新一次内存使用情况。
-c 5: 这个选项指定了输出的次数,即显示内存使用情况的次数。在这个例子中,设置为5,表示输出内存使用情况5次。
total: 总内存量,表示系统中总共的可用内存。
used: 已使用的内存量,表示系统当前正在使用的内存。
free: 空闲内存量,表示系统中当前未被使用的内存。
shared: 多个进程共享的内存量。
buffers: 用于缓冲的内存量,通常用于临时存储I/O操作的数据。
cached: 用于缓存的内存量,通常用于存储最近使用过的数据,以提高系统性能。
available: 可用内存量,表示系统中可供进程使用的内存量,包括空闲内存和缓存。

如果是缓存内存较高:解决办法参考linux 释放 文件缓存,Linux中手动释放缓存的方法_linux释放cache内存-CSDN博客

如果是进程占用内存过高,那么需要找出占用内存最高的那几个进程:

查看内存使用率较高的进程:
ps aux --sort -rss | head
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head
ps -eo pid,ppid,%mem,%cpu,comm --sort=-%mem | head
top -c -b -o +%MEM | head -n 20 | tail -15
top -b -o +%MEM | head -n 20 | tail -15

再根据进程的实际情况评估进程占用内存是否正常,是否需要扩容等。

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值