答案 0 :(得分:1)
这里将发生的事情是系统将交换内存以运行Java程序。
这可能会起作用,但是会对您的Jmeter的性能产生负面影响。
因此,根据经验,您绝对应该避免Java程序的任何换入/换出
答案 1 :(得分:1)
根据Java Performance Tuning, Profiling, and Memory Management文章
除非您在暂停方面遇到问题,否则请尝试为虚拟机分配尽可能多的内存
将-Xms和-Xmx设置为相同的值…。但是请确保应用程序的行为
请确保随着处理器数量的增加而增加内存,因为分配可以并行化
别忘了调整彼尔姆一代
按照Make Sense of Memory Management and Key Memory Measurements
- 缓存的内存保存在当前会话期间已提取到内存中但现在不再使用的数据或程序代码。如有必要,Windows内存管理器将刷新缓存内存的内容,以便为新调用的数据腾出空间。
可用内存表示不包含任何数据或程序代码且可以立即免费使用的RAM。
提交费用(也称为提交大小)是程序在当前会话中触摸(提交)的虚拟内存总量,包括已从物理页面中调出的内存内存到磁盘支持的页面文件。 “任务管理器”的“性能”选项卡上的“内存”和“物理内存”计数器代表所有进程和内核的该值的总和。提交费用限制是可用物理RAM和页面文件的总量,即最大虚拟内存。
因此,您的系统可以拥有比Free memory
更多的信息,因为它可以从缓存和虚拟池分配其他页面,因此可以为JMeter提供5 GB的空间。
但是,您需要密切注意JVM堆的使用情况和垃圾回收活动(可以使用JVisualVM来完成),就好像您设置的堆太高(JVM不会真正使用JMeter一样)在进行垃圾收集时要花费更多的时间,如果页面文件被广泛使用,您的JMeter引擎将无法正常工作,因为磁盘IO比RAM操作要慢得多。
有关调整JMeter的高负载的更多信息,请参见9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure文章。