搜档网
当前位置:搜档网 › 服务器w3wp.exe进程占用cpu和内存过多

服务器w3wp.exe进程占用cpu和内存过多

服务器w3wp.exe进程占用cpu和内存过多
服务器w3wp.exe进程占用cpu和内存过多

服务器w3wp.exe进程占用cpu和内存过多

这段时间以来,好几次出现服务器死机的情况,通常都是在半夜,网站打不开了,远程也登录不上了。由于服务器托管在外面,我是没办法亲自动手操作的,只好等第二天叫公司的技术员给重启。为此一直不知为何。今天又遇到了,就在刚才,网站突然卡住不动了,不过还能登录远程桌面,看到CPU使用率达100%(内存八九百倒也算正常),那个进程叫w3wp.exe。

收藏落伍者一篇文章,作者"blueflame":在IIS6下,经常出现w3wp.exe的内存及CPU 占用不能及时释放,从而导致服务器响应速度很慢。

解决CPU占用过多

1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。

2、设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。

根据w3wp的Pid取得是哪一个应用程序池占用CPU过多:

1、打开任务管理器,在任务管理器中——>查看——选择例:增加显示pid字段。

就可以看到占用内存或者cpu最高的进程pid

2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在C:\windows\system32目录下的一个VBS脚本,全名为iisapp.vbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Host”来执行,就可以得到PID与应用程序池的对应关系。)

3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。

解决内存占用过多

1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。

2、设置应用程序池的回收时间,默认为1740小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。

设置如下:

首先是对CPU的限制:在启用cpu监视后,我设置该应用程序池最大的cpu使用率为50%。设置刷新cpu时间为1分钟,设置操作为“关闭”。最大工作进程数设置为1。这个意思是,IIS刷新检测该独立池的CPU使用情况时间为1分钟,如果超过设置的cpu限制50%,就会

发出关闭池的指令,要求池在指定的时间内关闭。如果池成功在这个时间内关闭,IIS会重启动一个新池,此段时间很短,一般不会有什么感觉,池就重新开启了,对于访问网站的人基本是不会有感觉的。但如果池没有在指定时间内关闭,IIS就会强行关闭它一个刷新CPU 时间。在这个停止的时间内,网站无法访问,提示“Service Unavaliable”。

关闭时间和启动时间间隔设置:设短一些比如10秒,这样当您的网站程序大量占用系统资源时IIS自动快速回收进程并且快速启动进程,您的网站暂时还可以将就着工作。

对内存的限制及进程回收时间的设置:我设置为内存占用超过800M就自动回收内存,虚拟内存没有做限制。进程回收时间我保持默认没有修改。可以根据自己的情况设置更短的时间。对应用程序池最大虚拟内存也可以在此进行设置,超过了设置的最大虚拟内存,该池会就被回收。

最后综合落伍wlmmc的一些经验,总结一些需要注意的问题:

1、要限制一个站点的CPU使用,必须将该站点设置为独立应用程序池,共用应用程序池是

无法限制单个站点的。IIS独立应用程序池,就需要独立的进程,非常消耗内存。独立池越多,就有越多的W3WP进程。对于每个站点均要独立应用程序池的服务器,在一般的普通P43.0 2G内存的普通服务器上,建议不要超过50个站点,最好30以内,不然服务器压力非常大。在配置上,我一般把资源消耗较大的网站独立一个池,一般普通BBS或者生成HTML 的系统大概5个站一个池。普通网站以及一些企业站点均共用一个池。

2、根据wlmmc的经验,在服务器硬件允许的情况下,一般不要限制站点内存使用,这样能够保证网站运行,不会出现用户掉线情况。需要限制某站的最大虚拟内存不要小于64M,不然可能出现一些未知的错误。

3、这些都不是根本解决办法,它的根本问题是网站程序有问题,要解决根本问题还要从程序查起。根据本文开头提到的方法查到具体的应用程序池,找到使用此应用程序池的网站,解决网站程序存在的问题,如死循环之类。

4、除了w3wp.exe, 在调用数据库进行大量查询操作的时候,也会大量占用CPU资源,这是难免的(数据库方面的语句及结构优化不在本文讨论范围之内)。个人认为,只要不是CPU 长时间占用100%,一般在75%左右都是正常的。

LINUX中限制CPU和内存占用率方法

查看cpu占用 在命令行中输入 top 即可启动 top top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。 使用top查看系统负荷 top命令可以动态监视系统负荷,包括CPU、内存的使用率和占用资源较多的进程详情等。 动态查看系统负荷(占用一个终端) top 显示后退出 top -n 1 以文本方式输出,以备其它程序使用 top -b 好了,我们现在来看限制CPU和内存占用率方法 脚本内容: 代码如下 #!/bin/sh UPID=`top -bn 1 | grep ^ *[1-9] | awk '{ if($9 ; 20 || $10 ; 25 && id -u $2 ; 500) print $1}'` for PID in $UPID do renice +10 $PID echo renice +10 $PID done

我对上面的脚本进行了修改,可以让其针对整个服务器的进程进行限制. 修改后的脚本: 代码如下 #!/bin/sh UPID=`top -bn 1 | grep ^ *[1-9] | awk '{ if($9 ; 50 || $10 ; 25 ) print $1}'` for PID in $UPID do renice +10 $PID echo renice +10 $PID done 可以将这个脚本放到cron中运行,让其每分钟检查一次: 代码如下 chmod +x limit.sh vi /etc/crontab */1 * * * * /bin/sh /root/soft_shell/limit.sh

Linux下使用cpulimit限制进程的cpu使用率

Linux下使用cpulimit限制进程的cpu使用率 很用Linux时可能大家经常发现莫名其妙就变的非常慢,这时多半是后台进程使用的cpu和内存太多了。如何限制每个进程的cpu使用资源呢? 可以使用cpulimit限制每个进程的cpu使用率,使用率用百分百来表示。 安装cpulimit 使用源码安装 # cd /tmp # wget '网址http://' 网址:https://www.sodocs.net/doc/b318544392.html,/cpulimit/cpulimit-1.1.tar.gz # tar cpulimit-1.1.tar.gz # cd cpulimit-1.1 # make # cp cpulimit /usr/local/sbin/ # rm -rf cpulimit* Debian / Ubuntu 用户 使用apt-get更方便的安装 $ sudo apt - get update $ sudo apt - get install cpulimit 如何使用cpulimit? 限制firefox使用30% cpu利用率 # cpulimit -e firefox -l 30 限制进程号1313的程序使用30% cpu利用率 # cpulimit -p 1313 -l 30 根据进程名找出pid的方法 # ps aux | less # ps aux | grep firefox # pgrep -u vivek php-cgi # pgrep lighttpd 可以使用绝对路径限制进程的cpu利用率 # cpulimit -P /opt/firefox/firebox -l 30 单核cpu和多核cpu 单核cpu的使用率范围为0%-100%,四核cpu的使用率范围为0%-400%.

linux c程序获取cpu使用率及内存使用情况

想获取一下目标机运行时linux系统的硬件占用情况,写了这几个小程序,以后直接用了。方法就是读取proc下的文件来获取了。cpu使用率:/proc/stat ,内存使用情 况:/proc/meminfo 看程序: /*************************************************************** * @file: statusinfo.c * * @brief: 从linux系统获取cpu及内存使用情况 * * @version 1.0 * * @author 抹黑 * * @date 2009年3月17日 * ***************************************************************/ typedef struct PACKED //定义一个cpu occupy的结构体 { char name[20]; //定义一个char类型的数组名name有20个元素 unsigned int user; //定义一个无符号的int类型的user unsigned int nice; //定义一个无符号的int类型的nice unsigned int system;//定义一个无符号的int类型的system unsigned int idle; //定义一个无符号的int类型的idle }CPU_OCCUPY; typedef struct PACKED //定义一个mem occupy的结构体 { char name[20]; //定义一个char类型的数组名name有20个元素 unsigned long total; char name2[20]; unsigned long free; }MEM_OCCUPY; get_memoccupy (MEM_OCCUPY *mem) //对无类型get函数含有一个形参结构体类弄的指针O

CPU使用率高怎么办 CPU使用率过高的解决办法

CPU使用率高怎么办CPU使用率过高的解决办法 发布时间:2012-09-09 12:03作者:电脑百事网原创来源:https://www.sodocs.net/doc/b318544392.html,1714 次阅读 关于CPU过高这个问题相信以前不少朋友也遇到过,当CPU使用率过高的时候,由于CPU资源不足,往往很容易出现电脑卡或者无响应的等情况。那么针对CPU使用率高怎么办呢?网上关于这个话题讨论很多,其实都是从两个方面去考虑,一个是软件方面,另外一个则是硬件方面,其中硬件方面其决定性因素,下面我们一起来详细与大家分析下。 CPU使用率高怎么办

要解决CPU使用率过高,首先我们要明白CPU过高是什么原因造成的,我们主要从软件与硬件入手: ⒈)软件方面导致的CPU使用率高 这方面主要涉及到的是系统问题,比如系统过于臃肿,开启过多程序以及电脑中病毒木马等等都会产生CPU使用率过高,而导致电脑速度慢。解决办法主要是围绕系统优化,优化开机启动项、尽量避免开启太多程序等等,以下我们会详细介绍。 ⒉)硬件方面导致的CPU使用率高 其实硬件方面决定着比较大的关系,比如如果电脑还是老爷机,采用最初的单核赛扬级处理器,那么这样的电脑,在多开启几个网页的情况下就容易导致CPU使用率过高,不管你怎么优化系统,这个问题始终无法很好解决,这主要是因为硬件本身过低造成的。 不过如今电脑均已经达到了双核以上,即便入门处理器在满足上网与办公也会有非常流畅的运行速度,因此如果是老电脑经常出现CPU使用率过高,那么建议大家最好升级处理器或者换电脑从根本上解决问题。对于如今入门双核处理器尽管满足基本上网与办公流畅,但运行大型应用也同样会存在CPU使用率高的问题,因此在DIY 装机中我们一定要了解电脑的用途与需求,选择合适的电脑配置。 最后我们再来重点与大家介绍下CPU使用率过高的解决办法。由于硬件方面,我们只能采取硬件升级来解决,所以这里不过多介绍,

Linux查看CPU和内存使用情况

Linux 查看CPU 和内存使用情况 在系统维护的过程中,随时可能有需要查看CPU 使用率,并根据相应信息分析系统状况的需要。在CentOS 中 可以通过top 命令来查看CPU 使用状况。运行top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式-- 用基于top 的命令,可以控制显示方式等等。退出 top 的命令为q (在top 运行中敲q 键一次)。 top 命令是Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows 的任务管理器 可以直接使用top 命令后,查看%MEM 的内容。可以选 择按进程查看或者按用户查看,如想查看oracle 用户的进程内存使用情况的话可以使用如下的命令: $ top -u oracle 内容解释: PID :进程的ID USER :进程所有者 PR:进程的优先级别,越小越优先被执行 NInice :值 VIRT :进程占用的虚拟内存 RES:进程占用的物理内存

SHR :进程使用的共享内存 僵死状态, N 表示该进程优先值为负数 %CPU :进程占用CPU 的使用率 %MEM :进程使用的物理内存和总内存的百分比 TIME+ :该进程启动后占用的总的 CPU 时间,即占用 CPU 使用时间的累加值。 COMMAND :进程启动命令名称 操作实例 : 即可启动 top top 的全屏对话模式可分为 3 部分:系统信息栏、命令 输入栏、进程列表栏。 第一部分 -- 最上部的 系统信息栏 第一行( top ): 00:11:04”为系统当前时刻; 3:35”为系统启动后到现在的运作时间; “2 users ”为当前登录到系统的用户,更确切的说 是登录到用户的终端数 -- 同一个用户同一时间对系统多个 终端的连接将被视为多个用户连接到系统,这里的用户数也 将表现为终端的数目; S :进程的状态。 S 表示休眠, R 表示正在运行, Z 表示 在命令行中输入 “- ” top ”

CPU占用率高的九大原因

cpu占用率高的九种可能 1、防杀毒软件造成故障 由于新版的kv、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。 2、驱动没有经过认证,造成cpu资源占用100% 大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。 3、病毒、木马造成 大量的蠕虫病毒在系统内部迅速复制,造成cpu占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。 4、控制面板—管理工具—服务—rising realtime monitor service点鼠标右键,改为手动。 5、开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。 6、查看“svchost”进程。 svchost.exe是windows xp系统的一个核心进程。svchost.exe不单单只出现在windows xp中,在使用nt内核的windows系统中都会有svchost.exe的存在。一般在windows 2000中svchost.exe进程的数目为2个,而在windows xp中svchost.exe进程的数目就上升到了4个及4个以上。 7、查看网络连接。主要是网卡。 8、查看网络连接 当安装了windows xp的计算机做服务器的时候,收到端口445 上的连接请求时,它将分配内存和少量地调配cpu资源来为这些连接提供服务。当负荷过重的时候,cpu占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的maxworkitems 设置以提高系统响应能力。如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太多系统资源。 要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[hkey_local_machine\system\currentcontrolset\services\lanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的dword值。然后双击该值,在打开的窗口中键入下列数值并保存退出: 如果计算机有512mb以上的内存,键入“1024”;如果计算机内存小于512 mb,键入“256”。 9、看看是不是windows xp使用鼠标右键引起cpu占用100% 前不久的报到说在资源管理器里面使用鼠标右键会导致cpu资源100%占用,我们来看看是怎么回事? 征兆: 在资源管理器里面,当你右键点击一个目录或一个文件,你将有可能出现下面所列问题: 任何文件的拷贝操作在那个时间将有可能停止相应 网络连接速度将显著性的降低 所有的流输入/输出操作例如使用windows media player听音乐将有可能是音乐失真成因: 当你在资源管理器里面右键点击一个文件或目录的时候,当快捷菜单显示的时候,cpu占用率将增加到100%,当你关闭快捷菜单的时候才返回正常水平。 解决方法: 方法一:关闭“为菜单和工具提示使用过渡效果” 1、点击“开始”--“控制面板”

Linux查看CPU和内存使用情况

Linux查看CPU和内存使用情况 在系统维护的过程中,随时可能有需要查看CPU 使用率,并根据相应信息分析系统状况的需要。在Ce ntOS 中,可以通过top 命令来查看CPU 使用状况。运行top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式-- 用基于top 的命令,可以控制显示方式等等。退出top 的命令为q (在top 运行中敲q 键一次)。 操作实例: 在命令行中输入“top” 即可启动top top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。 第一部分-- 最上部的系统信息栏: 第一行(top): “00:11:04”为系统当前时刻; “3:35”为系统启动后到现在的运作时间; “2 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数-- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目; “load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程; 第二行(Tasks): “59 total”为当前系统进程总数; “1 running”为当前运行中的进程数; “58 sleeping”为当前处于等待状态中的进程数; “0 stoped”为被停止的系统进程数; “0 zombie”为被复原的进程数; 第三行(Cpus): 分别表示了CPU 当前的使用率; 第四行(Mem): 分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量; 第五行(Swap): 表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(S wap)被频繁使用的情况,将被视作物理内存不足而造成的。 第二部分-- 中间部分的内部命令提示栏: top 运行中可以通过top 的内部命令对进程的显示方式进行控制。内部命令如下表: s - 改变画面更新频率 l - 关闭或开启第一部分第一行top 信息的表示

CPU占用率高的九种解决方法

CPU占用率过高是大家都会遇到的系统问题,这个故障也非常令人头痛。CPU占用率过高怎么办?我们可能会采取重启,关闭系统进程来解决问题,但是事实上这样的做法并不科学。一般CPU占用率过高有九种可能,我们挨个分析一下: 1、防杀毒软件造成故障 由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。 2、驱动没有经过认证,造成CPU资源占用100% 大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。 3、病毒、木马造成 大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。 4、系统服务 控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。 5、启动项 开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。 6、查看“Svchost”进程 Svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe 进程的数目就上升到了4个及4个以上。 7、查看网络连接 主要是网卡。 8、查看网络连接

在Linux系统中使用w命令和uptime命令查看系统负载

在Linux系统中使用w命令和uptime命令查看系统负载 在Linux系统中查询系统CPU和内存的负载(使用率)时,我们通常习惯于使用top或者atop命令,这篇文章将要给大家介绍如何使用w命令和uptime命令来查看系统的负载情况,对于uptime命令,相信大家比较熟悉了,它主要是用来查询系统最近一次启动后运行了多长时间,而w命令则相对就冷门一些了,下面就详细介绍如何使用这两个命令: 1. w命令 [root@tektea ~]# w 14:44:27 up 62 days, 3 min, 2 users, load average: 0.00, 0.01, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 218.18.74.196 13:38 1:01m 0.00s 0.00s -bash root pts/1 218.18.74.196 14:43 0.00s 0.00s 0.00s w 使用man w查询的Linux对该命令的介绍是“Show who is logged on and what they are doing.”,w命令可查询登录当前系统的用户信息,以及这些用户目前正在做什么操作,这些信息对于Linux系统管理员来说都是价值的,另外其中的load average后面的三个数字则显示了系统最近1分钟、5分钟、15分钟的系统平均负载情况。 2. uptime命令 [root@tektea ~]# uptime 14:51:15 up 62 days, 10 min, 2 users, load average: 0.02, 0.01, 0.00 uptime命令回显中的load average所表示的意思和w命令相似,都是表示过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。 这里需要注意的是load average这个输出值,这三个值的大小一般不能大于系统逻辑CPU的个数,例如,本输出中系统有4个逻辑CPU,如果load average的三个值长期大于4时,说明CPU很繁忙,负载很高,可能会影响系统性能,但是偶尔大于4时,倒不用担心,一般不会影响系统性能。相反,如果load average的输出值小于CPU的个数,则表示CPU还有空闲,比如本例中的输出,CPU是比较空闲的。

什么问题导致CPU占用率过高

什么问题导致CPU占用率过高 CPU占用率太高怎么办?有时候我们经常会遇到电脑突然卡顿的问题,查原因后发现是CPU使用率太高,那么该如何降低CPU的占用率呢?什么问题导致CPU占用率过高?请看下文具体介绍。 解决方法: 1、防杀毒软件造成故障 由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,者,升级你的硬件配备。 2、驱动没有经过认证,造成CPU资源占用100% 大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。 3、病毒、木马造成 大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。 4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。 5、开始-》;运行-》;msconfig-》;启动,关闭不必要的启动项,重启。 6、查看“svchost”进程。svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。 1

linux下如何获取cpu的利用率

linux下如何获取cpu的利用率 “proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc 得到系统的信息,并可以改变内核的某些参数。” 这里将介绍如何从/proc文件系统中获取与防火墙相关的一些性能参数,以及如何通过/proc 文件系统修改内核的相关配置。 1、从/proc文件系统获取相关的性能参数 cpu使用率:/proc/stat 内存使用情况:/proc/meminfo 网络负载信息:/proc/net/dev 相应的计算方法:(摘自:什么是proc文件系统,见参考资料) (1)处理器使用率 (2)内存使用率 (3)流入流出数据包 (4)整体网络负载 这些数据分别要从/proc/stat、/proc/net/dev、/proc/meminfo三个文件中提取。如里有问题或对要提取的数据不太清楚,可以使用man proc来查看proc文件系统的联机手册。 (1)处理器使用率 这里要从/proc/stat中提取四个数据:用户模式(user)、低优先级的用户模式(nice)、内核模式(system)以及空闲的处理器时间(idle)。它们均位于/proc/stat文件的第一行。CPU 的利用率使用如下公式来计算。 CPU利用率= 100 *(user + nice + system)/(user + nice + system + idle) (2)内存使用率 这里需要从/proc/meminfo文件中提取两个数据,当前内存的使用量(cmem)以及内存总量(amem)。

Java获取Linux和Window系统CPU、内存和磁盘总使用率的情况

本文由我司收集整编,推荐下载,如有疑问,请与我司联系Java 获取Linux 和Window 系统CPU、内存和磁盘总使用率的情况 2017/05/08 0 这是一个工具类,获取的内容: CPU 使用率:得到的是当前CPU 的使用情况,这是算出的是两次500 毫秒时间 差的CPU 使用率 内存使用率:[1 - 剩余的物理内存/(总的物理内存+虚拟内存) ] * 100 磁盘总使用率:[1 - 磁盘空余大小/磁盘总大小] * 100 下面开始贴代码:使用暂时没有发现什么问题,如果有问题,咱们可以一起讨论package com.util; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.LineNumberReader;import https://www.sodocs.net/doc/b318544392.html,ng.management.ManagementFactory;import java.math.BigDecimal;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.StringTokenizer; import org.apache.log4j.Logger; import com.sun.management.OperatingSystemMXBean; public class ComputerMonitorUtil { private static String osName = System.getProperty(“https://www.sodocs.net/doc/b318544392.html,”);private static final int CPUTIME = 500;private static final int PERCENT = 100;private static final int FAULTLENGTH = 10;private static final Logger logger = Logger.getLogger(ComputerMonitorUtil.class); /** * 功能:获取Linux 和Window 系统cpu 使用率* */public static double getCpuUsage() {// 如果是window 系统if (osName.toLowerCase().contains(“windows”)||osName.toLowerCase().contains(“win”)) {try {String procCmd = System.getenv(“windir”)+“//system32//wbem//wmic.exe process get Caption,CommandLine,KernelModeTime,ReadOperationCount,ThreadCount,UserModeTi

CPU占用率过高的9大原因及解决方案

CPU占用率过高的9大原因及解决方案 导读:相信你也遇到过CPU占用率过高情况吧,这是很多都会遇到的系统问题,这个故障也非常令人头痛。那么,如果出现CPU占用率过高,该如何解决呢?我们可能会采取重启,关闭系统进程来解决问题,但是事实上这样的做法并不科学。一般CPU占用率过高有九种可能,小编将为大家讲解这九大原因及解决途径,一起来看看吧. 1、防杀毒软件造成故障 由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。 2、驱动没有经过认证,造成CPU资源占用100%大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。 3、病毒、木马造成 大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。字串8 4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。 5、开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。 6、查看“svchost”进程。 svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。 如何才能辨别哪些是正常的Svchost.exe进程,而哪些是病毒进程呢? Svchost.exe的键值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost”,每个键值表示一个独立的Svchost.exe组。 微软还为我们提供了一种察看系统正在运行在Svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。系统列出服务列表。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可。 如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:\Windows\System32”目录下的Svchost.exe程序。如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中毒了。 还有一种确认Svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。考试大论坛 上面简单的介绍了Svchost.exe进程的相关情况。总而言之,Svchost.exe是一个系统的核心进程,并不是病毒进程。但由于Svchost.exe进程的特殊性,所

最新整理电脑cpu使用率高死机怎么办

电脑c p u使用率高死机怎么办 在有些时候我们的电脑c p u使用率高造成死机了,那这个问题该怎么办呢?下面就由学习啦小编来为你们 简单的介绍电脑c p u使用率高死机的解决方法吧!希望 能帮到你们哦! 电脑c p u使用率高死机的解决方法一: 1.有可能电脑中毒,大量的蠕虫病毒在系统内部迅速复制,造成C P U占用极速增加。建议用可靠的杀毒软件彻底清理系统内存和本地硬盘,并打开系统设置软件,查看有无。 2.很多人都喜欢将软件设置成开机启动,电脑的启动项越来越多,C P U使用率自然就会明显升高。建议大家关闭不必要的启动项,点击开始运行输入m s c o n f i g 关闭不需要的启动项。 3.显卡等硬件配置没有满足需求的情况下,运行大型程序,比如网游,C P U占用率当然会高。建议在运行大型程序之前,查看电脑配置是否满足运行该程序的最低配置,如果确实是电脑配置不行的话,那就要将电脑进行硬件升级了。 4.有时候系统文件会出现错误,可能造成C P U使用

率高,甚至是高达100%。可以用系统自带的分区检查和整理工具进行检查和整理,开始运行输入C M D,在命令行里输入c h k d s k d:/b/x,硬盘碎片用系统自带的就行;针对坏道,可以用硬盘坏道测试修复软件测试确定 存在后,进行修复。 电脑c p u使用率高死机的解决方法二: 一般开机就假死的情况,基本都是在用户进入 W i n d o w s桌面时产生,而且其C P U使用率高达100%,出现这种问题的主要原因,是由于系统加载的启动程序过多,造成C P U工作超负荷的结果。 通常情况下,正常的W i n d o w s环境,无非在启动程序里加载,系统启动程序、杀毒启动程序、Q Q启动程序,以及其他应用程序等,这些根本就消耗不了多少C P U资源。所以说碰到这种情况,多半数是你系统身中病毒,而导致机器假死的情况出现。 解决办法:在启动计算机时,不停的敲击F8键进入到系统安全模式下,然后打开运行对话框,输入 m s c o n f i g命令回车,进入系统配置实用程序界面。 然后切入至启动标签(如图1),将里面可疑启动项复选框勾去掉后,单击确定按钮,重起进入正常的W i n d o w s

LINUX下查看CPU使用率的命令

LINUX下查看CPU使用率的命令 1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或是在交谈式指令列( interactiv e command)按s q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行 c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dea d child process )的CPU time累积起来 s :安全模式,将交谈式指令取消,避免潜在的危机 i :不显示任何闲置(idle)或无用(zombie)的行程 n :更新的次数,完成后将会退出top b :批次档模式,搭配"n"参数一起使用,可以用来将top的结果输出到档案内 范例: 显示更新十次后退出; top -n 10 使用者将不能利用交谈式指令来对行程下命令: top -s

将更新显示二次的结果输入到名称为top.log的档案里: top -n 2 -b < top.log 另附一个命令简介linux traceroutewindows tracert两个命令相当,跟踪网络路由 2.vmstat 正如我们之前讨论的任何系统的性能比较都是基于基线的,并且监控CPU的性能就是以上3点,运行队列、CPU使用率和上下文切换。以下是一些对于CPU很普遍的性能要求: 1.对于每一个CPU来说运行队列不要超过3,例如,如果是双核CPU就不要超过6; 2.如果CPU在满负荷运行,应该符合下列分布, a) User Time:65%~70% b) System Time:30%~35% c) Idle:0%~5% 3. mpstat 对于上下文切换要结合CPU使用率来看,如果CPU使用满足上述分布,大量的上下文切换也是可以接受的。 常用的监视工具有:vmstat, top,dstat和mpstat. # vmstat 1 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 104300 16800 95328 72200 0 0 5 26 7 14 4 1 95 0 0 0 104300 16800 95328 72200 0 0 0 24 1021 64 1 1 98 0 0 0 104300 16800 95328 72200 0 0 0 0 1009 59 1 1 98 0 r表示运行队列的大小,

linux下如何获取cpu的利用率

linux下如何获取cpu的利用率 "proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。" 这里将介绍如何从/proc文件系统中获取与防火墙相关的一些性能参数,以及如何通过/proc文件系统修改内核的相关配置。 1、从/proc文件系统获取相关的性能参数 cpu使用率:/proc/stat 内存使用情况:/proc/meminfo 网络负载信息:/proc/net/dev 相应的计算方法:(摘自:什么是proc文件系统,见参考资料) (1)处理器使用率 (2)内存使用率 (3)流入流出数据包 (4)整体网络负载 这些数据分别要从/proc/stat、/proc/net/dev、/proc/meminfo三个文件中提取。如里有问题或对要提取的数据不太清楚,可以使用man proc来查看proc文件系统的联机手册。 (1)处理器使用率 这里要从/proc/stat中提取四个数据:用户模式(user)、低优先级的用户模式(nice)、内核模式(system)以及空闲的处理器时间(idle)。它们均位于/proc/stat文件的第一行。CPU的利用率使用如下公式来计算。 CPU利用率= 100 *(user + nice + system)/ (user + nice + system + idle) (2)内存使用率 这里需要从/proc/meminfo文件中提取两个数据,当前内存的使用量(cmem)以及内存总量(amem)。 内存使用百分比= 100 * (cmem / umem) (3)网络利用率 为了得到网络利用率的相关数据,需要从/proc/net/dev文件中获得两个数据:从本机输出的数据包数,流入本机的数据包数。它们都位于这个文件的第四行。 性能收集程序开始记录下这两个数据的初始值,以后每次获得这个值后均减去这个初始值即为从集群启动开始从本节点通过的数据包。 利用上述数据计算出网络的平均负载,方法如下: 平均网络负载= (输出的数据包+流入的数据包) / 2 2. 通过/proc文件系统调整相关的内核配置 允许ip转发/proc/sys/net/ipv4/ip_forward 禁止ping /proc/sys/net/ipv4/icmp_echo_ignore_all 可以在命令行下直接往上述两个“文件”里头写入"1"来实现相关配置,如果写入"0"将取

电脑CPU使用率久高不降怎么办!

电脑CPU使用率久高不降怎么办!~ 计算机CPU占用率高的几种可能原因 第一:电脑运行了过多的程序,设置并推出程序,不要让程序开机自动运行; 第二:后台启动项过多,关闭不必要的启动项;打开开始菜单->运行->输入msconfig->启动,关闭不必要的启动项,使得电脑cup下降。 第三:安装了不当的杀毒软件或这是杀毒软件冲突也会造成cpu过高;安装一个知名的可靠杀毒软件就可;推荐永久免费的金山毒霸杀毒软件https://www.sodocs.net/doc/b318544392.html,/ 第四:某些程序BUG,会造成CPU100% 占用,例如遨游浏览器是不是会CPU100%,打开控制面板,结束CUP过多的程序。 第五、电脑中了病毒和木马造成

电脑中大量的蠕虫病毒在电脑系统内部迅速自我复制,造成CPU占用率高。处理方法:下载可靠的杀毒软件,对电脑进行全盘杀毒。 怎么能够使CPU使用率降下来呢?基本上没有什么程序,也没有病毒!但是CPU使用率却老高不降! 最佳答案 CPU占用率高的九种可能 1、防杀毒软件造成故障 由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,者,升级你的硬件配备。 2、驱动没有经过认证,造成CPU资源占用100% 大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。 3、病毒、木马造成 大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。 4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。

linux查看cpu使用率

用top指令可以查,例如top 10. 或者用ps –l 或ps -aux 以下内容来自《鸟哥linux私房菜》: top:动态观察程序的变化 相对於ps是撷取一个时间点的程序状态,top 则可以持续侦测程序运行的状态!使用方式如下:

其实top 的功能非常多!可以用的按键也非常的多!可以参考man top 的内部说明文件!鸟哥这里仅是列出一些鸟哥自己常用的选项而已。接下来让我们实际观察一下如何使用top 与top 的画面吧! top 也是个挺不错的程序观察工具!但不同於ps是静态的结果输出,top 这个程序可以持续的监测整个系统的程序工作状态。在默认的情况下,每次升级程序资源的时间为5 秒,不过,可以使用-d 来进行修改。top 主要分为两个画面,上面的画面为整个系统的资源使用状态,基本上总共有六行,显示的内容依序是: 第一行(top...):这一行显示的资讯分别为: o目前的时间,亦即是17:03:09 那个项目; o启动到目前为止所经过的时间,亦即是up 7days, 16:16 那个项目; o已经登陆系统的使用者人数,亦即是1 user项目; o系统在1, 5, 15 分钟的平均工作负载。我们在第十六章谈到的batch工作方式为负载小於0.8 就是这个负载罗!代表的是1, 5, 15 分钟,系统 平均要负责运行几个程序(工作)的意思。越小代表系统越闲置,若高於 1 得要注意你的系统程序是否太过繁复了!

?第二行(Tasks...):显示的是目前程序的总量与个别程序在什么状态(running, sleeping, stopped, zombie)。比较需要注意的是最后的zombie 那个数值,如果不 是0 !好好看看到底是那个process 变成僵尸了吧? ?第三行(Cpus...):显示的是CPU 的整体负载,每个项目可使用? 查阅。需要特别注意的是%wa,那个项目代表的是I/O wait,通常你的系统会变慢都是I/O 产生的问题比较大!因此这里得要注意这个项目耗用CPU 的资源喔!另外,如 果是多核心的设备,可以按下数字键『1』来切换成不同CPU 的负载率。 ?第四行与第五行:表示目前的实体内存与虚拟内存(Mem/Swap) 的使用情况。 再次重申,要注意的是swap 的使用量要尽量的少!如果swap 被用的很大量, 表示系统的实体内存实在不足! ?第六行:这个是当在top 程序当中输入命令时,显示状态的地方。 至於top 下半部分的画面,则是每个process 使用的资源情况。比较需要注意的是:?PID :每个process 的ID 啦! ?USER:该process 所属的使用者; ?PR :Priority 的简写,程序的优先运行顺序,越小越早被运行; ?NI :Nice 的简写,与Priority 有关,也是越小越早被运行; ?%CPU:CPU 的使用率; ?%MEM:内存的使用率; ?TIME+:CPU 使用时间的累加; top 默认使用CPU 使用率(%CPU) 作为排序的重点,如果你想要使用内存使用率排序,则可以按下『M』,若要回复则按下『P』即可。如果想要离开top 则按下『q 』吧!如果你想要将top 的结果输出成为文件时,可以这样做:

CPU使用率高导致电脑无响应怎么办

CPU使用率高导致电脑无响应怎么办 关于CPU过高这个问题相信以前不少朋友也遇到过,当CPU使用率过高的时候,由于CPU资源不足,往往很容易出现电脑卡或者无响应的等情况。那么针对CPU使用率高怎么办呢?下面小编就为大家介绍一下具体的解决方法吧,欢迎大家参考和学习。 其实都是从两个方面去考虑,一个是软件方面,另外一个则是硬件方面,其中硬件方面起决定性因素。 CPU使用率高怎么办 要解决CPU使用率过高,首先我们要明白CPU过高是什么原因造成的,我们主要从软件与硬件入手: ⒈)软件方面导致的CPU使用率高 这方面主要涉及到的是系统问题,比如系统过于臃肿,开启过多程序以及电脑中病毒木马等等都会产生CPU使用率过高,而导致电脑速度慢。解决办法主要是围绕系统优化,优化开机启动项、尽

量避免开启太多程序等等,以下我们会详细介绍。 ⒉)硬件方面导致的CPU使用率高 其实硬件方面决定着比较大的关系,比如如果电脑还是老爷机,采用最初的单核赛扬级处理器,那么这样的电脑,在多开启几个网页的情况下就容易导致CPU使用率过高,不管你怎么优化系统,这个问题始终无法很好解决,这主要是因为硬件本身过低造成的。 不过如今电脑均已经达到了双核以上,即便入门处理器在满足上网与办公也会有非常流畅的运行速度,因此如果是老电脑经常出现CPU使用率过高,那么建议大家最好升级处理器或者换电脑从根本上解决问题。对于如今入门双核处理器尽管满足基本上网与办公流畅,但运行大型应用也同样会存在CPU使用率高的问题,因此在DIY 装机中我们一定要了解电脑的用途与需求,选择合适的电脑配置。 最后我们再来重点与大家介绍下CPU使用率过高的解决办法。由于硬件方面,我们只能采取硬件升级来解决,所以这里不过多介绍,下面我们主要针对系统以及软件优化的方式,来尽量释放CPU 使用率,这种方法适合CPU使用高并不是很严重的情况,过于严重建议还是从硬件升级入手。

相关主题