楼上的各位,麻烦你们回答问题的时候看清楚别人问的是什么好吧?\x0d\x0a1、如果是大文件
占用了,那么查询大于某个值的文件的方法:\x0d\x0afind / -size +100c -print\x0d\x0a这是从根盘开始查找大于100字节的文件(至于字节数你当然可以自己设置)\x0d\x0a你可以用\x0d\x0afind / -size +100c -exec ls -l {}\\x0d\x0a来列出文件属性。\x0d\x0a2、如果只是因为有些应用生成的日志文件较多,长时间没有清理后占用了,这种情况最明显的标志为系统空间使用量逐步递增,每天的增量基本相差不大。那么最快捷的方式莫过于询问应用厂商要到日志存放目录后进行清理。如果找不到厂商,那只好自己动手咯,写个脚本查:\x0d\x0a#!/bin/ksh\x0d\x0a#####用du命令输出所有目录所占的磁盘空间大小,以G为单位#########\x0d\x0adu -h >fs_du.log\x0d\x0a######判断各层目录大小,查到占用量大的目录######\x0d\x0acat fs_du.log|while read LINE FS_USED\x0d\x0ado\x0d\x0a if [ $LINE -ge 10 ]\x0d\x0athen \x0d\x0a echo $FS_USED >>result.log\x0d\x0aelse\x0d\x0aexit\x0d\x0a fi\x0d\x0adone\x0d\x0a####查看运行结果#######\x0d\x0amore result.log\x0d\x0a这样你就能看到占用量比较大的目录,从而有针对性的到相应目录下检查,看到底是什么东西在占用硬盘空间了。(if [ $LINE -ge 10 ] ,这里是判断超过10G的目录,你可以修改)\x0d\x0a3、因为人为的误 *** 作,导致了某些
进程在没有执行完成的时候被kill掉了,但是缓存中的程序没有释放,仍然在运行,这会产生一些临时文件占用大量的磁盘空间资源,这种现象的特点是爆发式的增长,在很短时间内就将磁盘空间占满。解决的方法:\x0d\x0ai、如果是因为父进程被杀除,子进程还运行导致,那么最简单,kill子进程,就会释放。\x0d\x0aii、如果能用ipcs确认是哪个用户的进程,那么也不困难,顺着使用ipcrm就行(这个就不一一例举了,有了命令查使用方法还是很方便的)\x0d\x0aiii、执行进程的用户是比较关键的用户如:root用户、有实例的oracle用户、在线的生产用户等。那么建议在确认是因为共享缓存的原因导致的问题后重启服务器。\x0d\x0a4、你已经删除了一些占用量大的文件,或者在根盘下做du -h发现占用量远远的小于130G,df的结果仍然是100%的使用率。那么基本肯定你碰到了linux的一个bug,直接重启就能解决。(当然了也不一定是bug,我碰到过那种程序在写一个日志,但是删除日志后空间不释放的问题。这个是linux本身的机制引起的,只需要停止相关的程序空间就会释放的)Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行CPU利用率。根据经验来看,用户空间进程占用CPU比例在 65-70%。一般不能超过这个比例,超过这个比例,系统性能就会降低,平均负载升高,这点将会在下面的测试中看到。
进程上下文切换。上下文切换和CPU利用率应该联系起来,如果CPU利用率低,那么上下文切换稍高点也能接受。上下文切换也是需要消耗CPU资源的,频繁的切换必将使得CPU利用率升高。
运行队列中等待运行的进程数。每个CPU核心中等待处理的进程数不应该超过3个线程/进程。如4核心的机器,那么队列的最大值应该不超过12个。
对于CPU过载问题通常使用以下两种方式即可快速定位(不能涵盖所有特殊情况,请作为其中的参考排查思路):
一、排查分析
方法一(针对JAVA应用):
第一步:使用
top命令,然后按shift+p按照CPU排序
找到占用CPU过高的进程的pid
第二步:使用
top -H -p [进程id]
找到进程中消耗资源最高的线程的id
第三步:使用
echo 'obase=16[线程id]' | bc或者printf "%x\n" [线程id]
将线程id转换为16进制(字母要小写)
bc是linux的计算器命令
第四步(此步骤可以和相对应的java开发进行一起排查):执行
jstack [进程id] |grep -A 10 [线程id的16进制]”
查看线程状态信息
二、kswapd0 进程占用 CPU 较高
*** 作系统都用分页机制来管理物理内存, *** 作系统将磁盘的一部分划出来作为虚拟内存,由于内存的速度要比磁盘快得多,所以 *** 作系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中,由于内存持续不足,这个换页动作持续进行,kswapd0 是虚拟内存管理中负责换页的,当服务器内存不足的时候 kswapd0 会执行换页 *** 作,这个换页 *** 作是十分消耗主机 CPU 资源的。如果通过 top 发现该进程持续处于非睡眠状态,且运行时间较长,可以初步判定系统在持续的进行换页 *** 作,可以将问题转向内存不足的原因来排查。
会。linuxcpu使用率100会影响业务系统的正常运行,会间接导致用户的服务挂掉。发现服务器异常,一般先想到用top命令查看占用CPU高的进程,但如果是高手入侵,可能会替换掉你系统的一些重要命令。
评论列表(0条)