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
再根据进程的实际情况评估进程占用内存是否正常,是否需要扩容等。