我在一台虚拟机上运行Jenkins应用程序,不知何故所有系统内存都被完全占用,如何清理内存?我如何知道分配了多少堆内存以及如何清除堆内存?
cat /proc/meminfo
MemTotal: 132046272 kB
MemFree: 63724320 kB
Buffers: 155484 kB
Cached: 17920672 kB
SwapCached: 5108 kB
Active: 26331416 kB
Inactive: 9676204 kB
Active(anon): 17778452 kB
Inactive(anon): 153136 kB
Active(file): 8552964 kB
答案 0 :(得分:0)
您是否尝试重启Jenkins,如果是这样,VM本身? 我说它是最简单但最有效的方式。
答案 1 :(得分:0)
Jenkins本身在Java虚拟机(JVM)中运行,可以配置此JVM(heap_size等)。如果虚拟机的内存不足,则必须减少JVM的内存。您将使用一些参数在jenkins的server.xml文件中执行此操作。在最好的情况下,您将为您的vm提供更多内存。以下是这个论点的一个例子:
JAVA_ARGS =" -Xmx256m" #< - 默认值
JAVA_ARGS =" -Xmx2048m"
如何正确配置jenkins请咨询documentation 这个page和page对于jvm参数。
答案 2 :(得分:0)
在生产实例上,建议不要每天重启。我通过“ Monitoring”插件清除了堆内存,还升级到Jenkins的2.x(例如2.65或2.89.4)版本,它解决了我的问题
答案 3 :(得分:0)