写个软件来防止服务器网站CPU百分百

news/2024/5/11 4:19:59/文章来源:https://blog.csdn.net/weixin_33908217/article/details/90456861

问题:

复制代码
大概每隔两个星期左右,秋色园上服务器就会来一次CPU百分百,由于问题发生的概率极低,要它重现也难,所以只能意淫是内存太少的原故。
以前出现,远程上去结束掉进程,就正常了,悲剧的是最近秋色园VPS不知啥原因,经常远程不上去, 最后转转折折只能进VPS管理后台重启。
要遇上CPU百分百,又是需要机缘,所以一旦发生和遇到解决的时间差度大,就会造成服务器长时间打不开,后果大伙都懂的。。。
复制代码


解决:

方法一:设置应用池CPU策略,达到N的时候自动回收进程(不实用,排除)

因为更新网站dll时,偶尔有顺时达到100%,可能就1-2秒,可能会导致回收到,如果再有偶尔,就会造成死循环了。


方法二:写个软件放上去,监控cpu如果持续1分钟,直接kill掉进程。(就这么招了。。。

 

花了点时间,写了下代码,扔上去了,哟省事了。。。。

 

新建一个控制台。。。代码如下:

复制代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Diagnostics;

namespace IISCpuForServer
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("监控IIS CPU w3wp 进程中,若100%,而自动结束该进程...");
            Thread thread = new Thread(new ThreadStart(Run));
            thread.IsBackground = true;
            thread.Start();
            Console.Read();
        }
        static void Run()
        {
            try
            {
                while (true)
                {
                    Process[] procs = Process.GetProcessesByName("w3wp");//读取网站的进程
                    if (procs != null && procs.Length > 0)
                    {

                        foreach (Process pro in procs)
                        {
                            if (!pro.HasExited)
                            {
                                CheckPro(pro);
                            }
                        }
                    }
                    Thread.Sleep(TimeSpan.FromMinutes(5));//5分钟来一次。
                }
            }
            catch (Exception err)
            {
                Console.WriteLine(err.Message);
            }
        }
        static void CheckPro(Process pro)
        {
            int s = 0;//60秒。
            int killTimes = 0;
            //间隔时间(毫秒)
            int interval = 1000;
            //上次记录的CPU时间
            TimeSpan prevCpuTime = TimeSpan.Zero;
            while (true)
            {
                //当前时间
                TimeSpan curTime = pro.TotalProcessorTime;
                //间隔时间内的CPU运行时间除以逻辑CPU数量
                double value = (curTime - prevCpuTime).TotalMilliseconds / interval / Environment.ProcessorCount * 100;
                prevCpuTime = curTime;

                if (s > 0)
                {
                    if (value > 90 && value < 100)//cpu连续超过90% 50秒就杀。
                    {
                        killTimes++;
                        if (killTimes > 50)
                        {
                            Console.WriteLine(pro.Id + " 长期高CPU,秒杀...");
                            pro.Kill();
                            Thread.Sleep(TimeSpan.FromMinutes(3));
                            return;
                        }
                    }
                    else
                    {
                        killTimes = 0;
                    }
                    if (killTimes > 0)//只有cpu超过90%才打印文字
                    {
                        Console.WriteLine(pro.Id + " CPU:" + value + " -- killtimes:" + killTimes);
                    }
                }
                Thread.Sleep(interval);
                if (s > 59)
                {
                    s = -1;
                    break;
                }
                else
                {
                    s++;
                }
            }
        }

    }
}
复制代码


最后插播个流行漫画:

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2012/12/06/2804932.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_832829.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为你的网站加上SSL,可以使用HTTPS进行访问

首先&#xff0c;我们使用的是nginx 将域名证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录&#xff0c;例如/usr/local/nginx/conf目录下。 在ngxin配置中&#xff0c;添加如下&#xff1a; server {listen 443;server_name www.domain.…

《SEO的艺术(原书第2版)》——1.5 人们如何搜索

1.5 人们如何搜索 为了让人们得到更好&#xff08;也就是更快、更新鲜和更相关&#xff09;的搜索结果&#xff0c;搜索引擎投入大量资源了解人们的搜索方式。对于网站发布者来说&#xff0c;关于人们如何搜索的信息有助于改进网站的易用性和搜索引擎兼容性。根据comScore的数据…

网站服务器排名,网站的服务器对排名有影响吗?

web服务器就是我们所说的web服务器。网站的速度和稳定性直接影响网站的用户体验&#xff0c;也对网站排名有一定的影响。让我们来谈谈以下几点:网站的服务器对排名有影响吗&#xff1f;速度是我们在选择空间时首先考虑的因素之一。我们在购买主机时使用服务器来测试站点。保持主…

网站不收录 服务器,新网站不收录该怎么办?

原标题&#xff1a;新网站不收录该怎么办&#xff1f;百度反馈网站链接就目前所有方法来说&#xff0c;这个办法是最实用的&#xff0c;而且是最安全的&#xff0c;怎么操作呢&#xff1f;首先我们要在百度站长进行站点绑定&#xff0c;这个就不详细说了&#xff0c;不懂的大家…

seowhy论坛 seo技术 seo搜索引擎排名 seo交流学习 网站快速收录操作方法

SEO论坛 百度站长平台社区 百度官方论坛&#xff0c;时不时有官方人员回答问题。而且也是目前比较所剩不多的SEO论坛了。 站长世界WebmasterWorld.com 如果你只有时间看一个英文论坛和博客&#xff0c;那就看这个。站长世界包含的不仅仅是SEO&#xff0c;还有很多关于建站的…

hviewer添加新站点_使用Hugo+Netlify 5分钟部署一个网站 NanoDM站点迁移到Netlify记

友情提示&#xff1a;微信公众号文章发布后无法修改更新。如有更新&#xff0c;会在原文更新和修正。如需查看原文请点击底部的“前言此前老灯介绍过最麻烦的Hugo站点部署方法&#xff0c;很多人可能光看配置文件就头疼了&#xff0c;这次老灯借着给NanoDM站点迁移的机会&#…

linux国外脚本网站,Shell脚本实现防止国外ip访问服务器

客户的要求&#xff0c;不想让外国的ip来访问服务器&#xff0c;本来要让机房在上端路由解决&#xff0c;但是那些人不鸟你&#xff01;&#xff01;&#xff01;~~~~这样的话&#xff0c;只能自己用iptables解决了~~~~~~~~~关于 ip库 大家可以去 http://www.ipdeny.com/ipblo…

某食品公司网站存在SQL注入

错误链接&#xff1a;http://www.shenggu2006.com/news1.php?id5 在id后传参6-1&#xff0c;回显页面与id5相同&#xff0c;放入sqlmap跑包&#xff0c;存在sql注入 甚至可以爆出数据库名

下载英文图书的几个网站

★ 1. https://ebooks.adelaide.edu.au/ 按作者&#xff1a;https://ebooks.adelaide.edu.au/meta/authors 按书名&#xff1a;https://ebooks.adelaide.edu.au/meta/titles/A.html 按类别&#xff1a; https://ebooks.adelaide.edu.au/meta/collections 界面下方的几个按钮…

ASP网站搭建

Windows2003IIS6.0环境搭建 集成IIS6.0的Windows2003虚拟机 链接&#xff1a;https://pan.baidu.com/s/1rMb9-6A_Oc2luTwtoaB2VA 提取码&#xff1a;8d1o 安装好IIS组件后 管理工具->Internet信息服务(IIS)管理器 网站->新建->网站 意思就是备注,随便填,点击下一步 …

关于测试web端兼容性、性能测试和安全测试的网站

一、测试浏览器兼容性的国外网站 1.网址&#xff1a;browsershots.org BrowserShots的功能比较强大&#xff0c;它支持如上图所示各种不同系统下不同版本的浏览器。只要你选中你所想查看的浏览器&#xff0c;然后输入你网站的网址&#xff0c;它就会将你网站在不同浏览器的显示…

手机控必备网站,让自己拥有更好的智能手机

手机成为人们日常生活标配后&#xff0c;无论年幼年长还是年轻群体&#xff0c;都将业余时间给了手机&#xff0c;而移动互联网不但满足了我们的需要&#xff0c;还方便了我们的生活&#xff0c;但如果没有一部好的手机&#xff0c;我们分分钟都有想砸手机的暴躁心情&#xff0…

网站开发_盒子模型

divcss 与 全table布局 先主流布局为divcss&#xff0c;更容易实现数据与表现的分离&#xff0c;代码更少&#xff0c;更容易维护。 两种盒子模型 w3c标准盒子模型以及IE盒子模型&#xff0c;推荐试用标准盒子模型。需要在网页顶部加DOCTYPE 声明区分。 <!DOCTYPE html PUBL…

网站开发_从基础做起1

推荐一个网站&#xff1a;标准之路&#xff0c;讲解网站开发确实很详细&#xff0c;带有实例边讲边实践&#xff0c;很是惊喜 就本人的经验来说&#xff0c;网站开发基础可以去w3School中学习html以及css的基本语法&#xff0c;然后参考上面提到网站的DIVCSS教程 一步一步搭建起…

网站开发_从基础做起2

一超链接的四种样式 a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: #00FF00} /* 已访问的链接 */ a:hover {color: #FF00FF} /* 鼠标移动到链接上 */ a:active {color: #0000FF} /* 选定的链接 */ 以上分别定义了超链接未访问时的链接样式&#xff0c;已访问的…

领英宣布开源其两大网站问题自动修复工具

领英宣布将用于调查主机和服务中断以及其他网站导航问题的两种工具开源。Fossor(gragraigger的拉丁语)是一个Python工具和库&#xff0c;可以同时自动执行多个检查&#xff0c;而另一个Python库Ascii Etch以ASCII字符图的形式输出从Fossor收集的信息。 领英首席开发人员Steven…

大型网站技术架构(二)架构模式

2019独角兽企业重金招聘Python工程师标准>>> 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样&#xff0c;你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠…

c++伪代码_如何实现“AI SEO伪原创”?

市面上已经有众多【AI伪原创】工具&#xff0c;看产品说明&#xff0c;介绍是基于NPL卷积神经网络千万语料库机器学习生成的文章。百度“AI伪原创”&#xff0c;随便找一款产品&#xff0c;测试一下伪原创效果&#xff1a;巧了&#xff0c;这个伪原创的内容&#xff0c;跟Googl…

网站建设报价单_角点科技:网站建设怎么收费的?

现在建设网站的公司是比较的多的&#xff0c;想要建设网站的公司也是比较的多的。但是在价格这里&#xff0c;就会有一些不等了。建设同一个网站&#xff0c;去找网站建设公司报价的时候得到的却是不一样的。那么这是为什么呢。网站建设公司的收费是怎么收费的呢。网站建设的收…

如何让移动端出现横向滚动条_移动端网站应该如何优化?

原标题&#xff1a;移动端网站应该如何优化&#xff1f;随着移动设备的普及&#xff0c;也引发了一大批移动端网站的建设&#xff0c;而且像我们公司新建设的网站一般都会配备了移动端网站的&#xff0c;从而也引发出一个新问题你&#xff0c;那就是移动端网站应该如何优化&…