
一般有如下几种可能:
1) 有程序占用大量CPU,使用top命令来检查(看看是否有java程序锁死之类的故障)
2) 有程序占用大量内存,使得内存真正不够用了(这个才是真正需要加内存的时候),比如由于MySQL在较大负载下运行容量为GB级别的数据库导致内存不够用,需要给服务器插入更多物理内存
3) 磁盘系统读写故障,IO吞吐错误造成CPU负载上升,需要光盘引导进入单用户模式扫描修复磁盘。
但也可以手动进行内存释放,具体 *** 作如下:
[root@dbserver01 mysql]# cat /proc/sys/vm/drop_caches0
首先,/proc/sys/vm/drop_caches的值,默认为0
[root@dbserver01 mysql]# sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件) 《Linux就该这么学》 一起学习。
[root@dbserver01 mysql]# echo 3 >/proc/sys/vm/drop_caches
[root@dbserver01 mysql]# cat /proc/sys/vm/drop_caches
3
将/proc/sys/vm/drop_caches值设为3 [root@dbserver01 mysql]# free -m
在linux中,内存使用是按照最大化原则来的,也就是说你的内存在满足应用使用的情况下,剩余部分会被当作高速缓存来使用。看你的内存够不够用关键看的是swap区的使用量,swap区使用量较小或者不使用则说明你的内存是足够使用的,如果swap区不停的在增长,或者使用了很多则说明你的内存已经不够用了。sys是指内核空间占用CPU的百分比。详细:
us — 用户空间占用CPU的百分比。
sy — 内核空间占用CPU的百分比。
ni — 改变过优先级的进程占用CPU的百分比
id — 空闲CPU百分比
wa — IO等待占用CPU的百分比
hi — 硬中断(Hardware IRQ)占用CPU的百分比
si — 软中断(Software Interrupts)占用CPU的百分比
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)