公司写的JAVA程序,tomcat5.exe内存总是不断上涨,直到最后客户端那面无法显示网页,但tomcat5.exe还是在服务器上运行着,但内存已经超过了设置的最大内存900M,所以,导致网页无法显示。
   我现在用C#写了段程序,判断tomcat5.exe进程是否大于800M,如果大于的话自动停掉tomcat5.exe进程,然后重启tomcat5服务。//窗体加载时判断
  private void Form1_Load(object sender, EventArgs e)
        {
            Process[] process = Process.GetProcesses();
            foreach (Process pres in process)
            {
                if (pres.ProcessName == "tomcat5")
                {
                    //获取指定进程内存使用情况
                    int i = pres.WorkingSet / 1024;
                    if (i > 800000)        //如何内存大于800M的话 杀死tomcat5.exe进程
                        pres.Kill();                }            }
            System.Diagnostics.Process.Start("cmd.exe ", "/c   net start tomcat5 ");//启动tomcat5服务
            this.Close();//自动关闭窗体
        }因为许多用户实时在使用系统,所以,对tomcat的连续应用要求较高。先不考虑是JAVA程序的问题导致tomcat5崩溃了。请大虾们考虑我上面的方法准备用在任务计划里,看是否可行?有没有什么没考虑到位的地方?请指教!!!