我在使用Concurrent Mark-Sweep收集器的应用程序的GC日志文件中看到以下症状:
4031.248: [CMS-concurrent-preclean-start]
4031.250: [CMS-concurrent-preclean: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
4031.250: [CMS-concurrent-abortable-preclean-start]
CMS: abort preclean due to time 4036.346: [CMS-concurrent-abortable-preclean: 0.159/5.096 secs] [Times: user=0.00 sys=0.01, real=5.09 secs]
4036.346: [GC[YG occupancy: 55964 K (118016 K)]4036.347: [Rescan (parallel) , 0.0641200 secs]4036.411: [weak refs processing, 0.0001300 secs]4036.411: [class unloading, 0.0041590 secs]4036.415: [scrub symbol & string tables, 0.0053220 secs] [1 CMS-remark: 16015K(393216K)] 71979K(511232K), 0.0746640 secs] [Times: user=0.08 sys=0.00, real=0.08 secs]
Run Code Online (Sandbox Code Playgroud)
预清洁过程不断中止.我已经尝试将CMSMaxAbortablePrecleanTime从默认值5调整为15秒,但这没有帮助.当前的JVM选项如下......
Djava.awt.headless=true
-Xms512m
-Xmx512m
-Xmn128m
-XX:MaxPermSize=128m
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:BiasedLockingStartupDelay=0
-XX:+DoEscapeAnalysis …Run Code Online (Sandbox Code Playgroud) 在代码启动方面,您如何处理开发人员对服务器的访问?他们是否具有对机器的RDP访问权限以部署代码并进行更改?他们是否只允许ftps访问服务器docroots,并且系统管理员会处理任何.NET配置更改?开发人员是否可以访问生产docrooots进行部署,或者系统管理员是否可以处理对实时服务器的任何代码启动?