我正在一个AWS EC2微实例上运行一个web服务器。该实例具有约630 of的RAM。随着时间的推移,我有几个httpd进程和很少的空闲RAM。当我重新启动httpd服务时,我最终释放了大约350 up的RAM。
我曾想过每12小时使用根下的cron作业自动完成一次。我的脚本包括代码
service httpd restart
service mysqld restart
ps aux
free -m
这是我第一次尝试cron脚本。
我收到一封带有ps aux和free -m预期输出的电子邮件,但是
./scriptName.sh: line 1: service: command not
我的程序使用递归。我不能给你看代码,因为它很大。
如果我用递归来处理long,我就得到了这个
EXC_BAD_ACCESS (code=2, address = 0xb03b1fcc)
当我试图用这个错误打印对象时,我得到
EXC_BAD_ACCESS (code=2, address = 0xb03b1fcc). The process has been returned to the state before expression evaluation.
这是什么意思?我怎样才能解决这个问题?
在部署在OutOfMemoryError: Out of heap space TC服务器上的一个应用程序中,我们遇到了重复的vFabric问题。当我进行堆转储并对其进行分析时,我发现大部分内存被org.apache.jasper.compiler.JspRuntimeContext或org.apache.jasper.runtime.BodyContentImpl类下的HTML/JSP内容占用。
我从这里了解到,JSP内容被保留在内存中,没有被正确地释放到GC中。
应用程序实际上是管理的,所以有限数量的用户可以访问它。虽然有些页面很大,但是有大量的数据。
我们保持最大堆大小为2GB。
在测试
我们在J9 VM上运行weblogic服务器,堆大小为512M。
现在,服务器出现故障,出现OutOfMemory错误。
我用Eclipse Memory Analyzer打开了堆转储文件xxx.phd (安装了IBM DTFJ pluign以支持.phd文件)。
这个垫子给了我一份泄密嫌犯报告,就像这样:
One instance of "java.lang.Object[]" loaded by "<system class loader>" occupies 402,572,608 (74.86%) bytes. The memory is a
我有一个这样的块:
begin
# some SQL request
rescue Mysql::Error => e
logputs "Mysql::Error occurred, retrying in 10s: #{e.message}"
sleep 10
retry
end
但是,当出现“与MySQL服务器的连接丢失”错误时,此块无法捕获该错误并重试( MySQL服务器重新启动)。你知道我怎样才能正确地捕捉这个异常吗?
谢谢!