公司写的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崩溃了。请大虾们考虑我上面的方法准备用在任务计划里,看是否可行?有没有什么没考虑到位的地方?请指教!!!
我现在用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崩溃了。请大虾们考虑我上面的方法准备用在任务计划里,看是否可行?有没有什么没考虑到位的地方?请指教!!!
2,在tomcat5.exe里进行配置heapsize等的大小