0

我为 Jmeter 编写了一个自定义采样器,但在将其添加到 Jmeters lib/ext 文件夹后,它在启动时崩溃。出现以下错误:

java.lang.OutOfMemoryError: PermGen space
Dumping heap to java_pid1448.hprof ...
Heap dump file created [23456544 bytes in 0.490 secs]
Uncaught Exception java.lang.OutOfMemoryError: PermGen space. See log file for details.

jmeter.log 的内容:

    2013/08/20 10:53:15 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: Loading user properties from: C:\Users\tajaj\Desktop\Jmeter New\apache-jmeter-2.9\bin\user.properties 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: Loading system properties from: C:\Users\tajaj\Desktop\Jmeter New\apache-jmeter-2.9\bin\system.properties 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: Copyright (c) 1998-2013 The Apache Software Foundation 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: Version 2.9 r1437961 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: java.version=1.6.0_33 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: os.name=Windows 7 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: os.arch=amd64 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: os.version=6.1 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: file.encoding=Cp1252 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: Default Locale=English (United States) 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: JMeter  Locale=English (United States) 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: JMeterHome=C:\Users\tajaj\Desktop\Jmeter New\apache-jmeter-2.9 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: user.dir  =C:\Users\tajaj\Desktop\Jmeter New\apache-jmeter-2.9\bin 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: PWD       =C:\Users\tajaj\Desktop\Jmeter New\apache-jmeter-2.9\bin 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: IP: 10.172.20.199 Name: TRAINING2 FullName: TRAINING2.mobinets.local 
2013/08/20 10:53:15 INFO  - jmeter.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties 
2013/08/20 10:53:16 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' 
2013/08/20 10:53:16 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' 
2013/08/20 10:53:16 INFO  - jmeter.gui.action.LookAndFeelCommand: Using look and feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel [Windows, System] 
2013/08/20 10:53:21 INFO  - jmeter.util.BSFTestElement: Registering JMeter version of JavaScript engine as work-round for BSF-22 
2013/08/20 10:53:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Cannot find .className property for htmlParser, using default 
2013/08/20 10:53:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is  
2013/08/20 10:53:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is  
2013/08/20 10:53:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is  
2013/08/20 10:53:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is  
2013/08/20 10:53:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 
2013/08/20 10:53:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Reuse SSL session context on subsequent iterations: true 
2013/08/20 10:53:22 INFO  - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.http.modifier.gui.ParamModifierGui 
2013/08/20 10:53:26 WARN  - jmeter.gui.util.MenuFactory: Could not instantiate org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui java.lang.OutOfMemoryError: PermGen space
    at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installComponents(WindowsFileChooserUI.java:199)
    at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.java:134)
    at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installUI(WindowsFileChooserUI.java:140)
    at javax.swing.JComponent.setUI(JComponent.java:662)
    at javax.swing.JFileChooser.updateUI(JFileChooser.java:1763)
    at javax.swing.JFileChooser.setup(JFileChooser.java:360)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:333)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:286)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.initComponents(SmtpPanel.java:541)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.<init>(SmtpPanel.java:113)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.makeDataPanel(SmtpSamplerGui.java:186)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.init(SmtpSamplerGui.java:166)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.<init>(SmtpSamplerGui.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:455)
    at org.apache.jmeter.gui.util.MenuFactory.<clinit>(MenuFactory.java:159)
    at org.apache.jmeter.control.gui.WorkBenchGui.createPopupMenu(WorkBenchGui.java:90)
    at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:158)
    at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:47)
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)
    at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
    at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:63)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
    at java.awt.EventQueue.access$000(EventQueue.java:84)
    at java.awt.EventQueue$1.run(EventQueue.java:607)
    at java.awt.EventQueue$1.run(EventQueue.java:605)

2013/08/20 10:53:26 ERROR - jmeter.gui.util.MenuFactory:  java.lang.OutOfMemoryError: PermGen space
    at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installComponents(WindowsFileChooserUI.java:199)
    at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.java:134)
    at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installUI(WindowsFileChooserUI.java:140)
    at javax.swing.JComponent.setUI(JComponent.java:662)
    at javax.swing.JFileChooser.updateUI(JFileChooser.java:1763)
    at javax.swing.JFileChooser.setup(JFileChooser.java:360)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:333)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:286)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.initComponents(SmtpPanel.java:541)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.<init>(SmtpPanel.java:113)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.makeDataPanel(SmtpSamplerGui.java:186)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.init(SmtpSamplerGui.java:166)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.<init>(SmtpSamplerGui.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:455)
    at org.apache.jmeter.gui.util.MenuFactory.<clinit>(MenuFactory.java:159)
    at org.apache.jmeter.control.gui.WorkBenchGui.createPopupMenu(WorkBenchGui.java:90)
    at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:158)
    at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:47)
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)
    at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
    at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:63)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
    at java.awt.EventQueue.access$000(EventQueue.java:84)
    at java.awt.EventQueue$1.run(EventQueue.java:607)
    at java.awt.EventQueue$1.run(EventQueue.java:605)

2013/08/20 10:53:26 ERROR - jmeter.JMeter: Uncaught exception:  java.lang.OutOfMemoryError: PermGen space
    at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installComponents(WindowsFileChooserUI.java:199)
    at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.java:134)
    at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installUI(WindowsFileChooserUI.java:140)
    at javax.swing.JComponent.setUI(JComponent.java:662)
    at javax.swing.JFileChooser.updateUI(JFileChooser.java:1763)
    at javax.swing.JFileChooser.setup(JFileChooser.java:360)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:333)
    at javax.swing.JFileChooser.<init>(JFileChooser.java:286)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.initComponents(SmtpPanel.java:541)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.<init>(SmtpPanel.java:113)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.makeDataPanel(SmtpSamplerGui.java:186)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.init(SmtpSamplerGui.java:166)
    at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.<init>(SmtpSamplerGui.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:455)
    at org.apache.jmeter.gui.util.MenuFactory.<clinit>(MenuFactory.java:159)
    at org.apache.jmeter.control.gui.WorkBenchGui.createPopupMenu(WorkBenchGui.java:90)
    at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:158)
    at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:47)
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)
    at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
    at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:63)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
    at java.awt.EventQueue.access$000(EventQueue.java:84)
    at java.awt.EventQueue$1.run(EventQueue.java:607)
    at java.awt.EventQueue$1.run(EventQueue.java:605)

2013/08/20 10:53:33 ERROR - jmeter.JMeter: Uncaught exception:  java.lang.OutOfMemoryError: PermGen space

2013/08/20 10:53:33 ERROR - jmeter.JMeter: Uncaught exception:  java.lang.OutOfMemoryError: PermGen space

任何想法是什么问题以及如何解决?

提前致谢。

4

1 回答 1

2

我解决了问题。如果有人有同样的问题:

只需更改jmeter.bat中的以下行:

set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m

更高的东西:

set PERM=-XX:PermSize=256m -XX:MaxPermSize=256m
于 2013-08-20T08:08:37.633 回答