linux jmeter 内存,JMeter-Linux内存不足
我正在尝试为应用程序运行负载测试。为此,我在具有60GB Ram和超过足够CPU能力的Ubuntu
Vm上使用JMeter(v.2.13)。目标是达到通过WebSocket连接的1万名用户。
但是,在测试运行期间,我在ssh控制台上收到以下错误(大约1.5k至2.5k模拟用户)
OpenJDK 64-Bit Server VM warning: Attempt to protect stack guard pages failed.
OpenJDK 64-Bit Server VM warning: Attempt to deallocate stack guard pages failed.
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f20ee653000, 12288, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 12288 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /jmetertests/jm/bin/hs_err_pid1833.log
OpenJDK 64-Bit Server VM warning: Attempt to deallocate stack guard pages failed.
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f2218de8000, 12288, 0) failed; error='Cannot allocate memory' (errno=12)
提到的错误报告文件如下所示
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 12288 bytes for committing reserved memory.
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
# Out of Memory Error (os_linux.cpp:2798), pid=1833, tid=140472285792000
#
# JRE version: OpenJDK Runtime Environment (7.0_75-b13) (build 1.7.0_75-b13)
# Java VM: OpenJDK 64-Bit Server VM (24.75-b04 mixed mode linux-amd64 )
# Derivative: IcedTea 2.5.4
# Distribution: Ubuntu 14.04 LTS, package 7u75-2.5.4-1~trusty1
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
我试图通过在.sh文件中发出java命令之前添加以下行来修改jmeter.sh来分配更多内存:
JVM_ARGS="-Xms5g -Xmx20g -Xss300k"
我也尝试_JAVA_OPTIONS使用以下命令设置环境变量
export _JAVA_OPTIONS="-Xms5g -Xmx20g"
最后我在一些SO线程中找到了此命令
sysctl -w vm.max_map_count=500000
该top-Command使我对内存的下列信息
KiB Mem: 61836576 total, 15163400 used, 46673176 free, 10636 buffers
KiB Swap: 0 total, 0 used, 0 free. 94492 cached Mem
更新
仅供参考:除简单的数据编写器外,我在JMeter中不使用任何侦听器。但是,即使我禁用了最后一个侦听器,也会引发错误。
java -Xms40g -version
是成功的-所以我真的可以分配这么多的内存
我通过使用减小了堆栈大小
-Xss300k
当我现在得到一个
Uncaught Exception java.lang.OutOfMemoryError:
unable to create new native thread. See log file for details.
错误。看来系统上的线程数已用完?
更新2
根据某些用户的要求,结果uf ulimit -a
core file size (blocks, -c) 0
scheduling priority (-e) 0
pending signals (-i) 491456
max locked memory (kbytes, -l) 64
open files (-n) 500000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
max user processes (-u) 491456
... all other entries are set to 'unlimited'
并且limits.conf包含以下条目
* hard nofile 900000
* soft nofile 900000
root hard nofile 900000
root soft nofile 900000
另外,我已将threads-maxunder
设置为proc/sys/kernel高得离谱,并且还增加了proc/sys/vm/max_map_count
我错过了什么还是做错了什么?谢谢您的帮助。
linux jmeter 内存,JMeter-Linux内存不足相关推荐
- jmeter压力测试linux,JMeter压力测试
JMeter压力测试 整体目标: 安装虚拟机,并安装一套LAMP(Linux+Apache+Mysql+PHP)待测系统,推荐ECShop(http://www.ecshop.com),基于此进行Jm ...
- linux中使用jmeter压测
1.安装jdk 2.下载jmeter的linux版本 在linu中解压 vim /ect/profile 在底部加上 export JMETER_HOME=/root/jmeter/apache-jm ...
- Jmeter 监控cpu、内存、io
1.Jmeter本不支持监控cpu.内存.io的,需要下载插件,下载插件官网地址:https://jmeter-plugins.org/downloads/old/ 如果嫌官网下载慢,可以这里下载:链 ...
- 官方指定Jmeter配置JVM堆内存方式
官方指定Jmeter配置JVM堆内存方式 文章目录 官方指定Jmeter配置JVM堆内存方式 1.概述 2.调整Jmeter堆内存 2.1.介绍官方推荐堆内存调整方法(jmeter在windows环境 ...
- linux内存管理 之 内存节点和内存分区(Zone)
https://www.cnblogs.com/youngerchina/p/5624516.html Linux支持多种硬件体系结构,因此Linux必须采用通用的方法来描述内存,以方便对内存进行管理 ...
- Linux驱动技术(一) _内存申请
先上基础,下图是Linux的内存映射模型 每一个进程都有自己的进程空间,进程空间的0-3G是用户空间,3G-4G是内核空间 每个进程的用户空间不在同一个物理内存页,但是所有的进程的内核空间对应同样的物 ...
- Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口
Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>& ...
- linux内存使用统计,Linux 中free命令检查内存使用情况
我们都知道, IT 基础设施方面的大多数服务器(包括世界顶级的超级计算机)都运行在 Linux 平台上,因为和其他操作系统相比, Linux 更加灵活.有的操作系统对于一些微乎其微的改动和补丁更新都需 ...
- Linux启动检测内存条错误,linux检测程序内存泄漏和内存错误
在linux的开发程序的时候,可以很方便的使用valgrind这个工具方便检测内存泄漏和内存错误. 安装很方便: debian(如ubuntu) sudo apt-get install valgri ...
- python使用psutil获取系统(Windows Linux)所有运行进程信息实战:CPU时间、内存使用量、内存占用率、PID、名称、创建时间等;
python使用psutil获取系统(Windows Linux)所有运行进程信息实战:CPU时间.内存使用量.内存占用率.PID.名称.创建时间等: psutil模块可以跨平台使用,支持Linux/ ...
最新文章
- 利用getchar()消除多余字符数据(主要是“回车”)
- BFD (双向转发检测) 协议简介与开发
- android 流量统计不准确_汽车里程表上显示的百公里油耗准确吗?是不是真的是欢乐表...
- mysql数据被截断_有关Mysql数据截断问题的处理方法
- Vim和Vi的常用命令
- 计算机如何玩二十四点游戏,数学二十四点游戏有什么技巧吗?
- win7系统如何更改密码策略
- 关于BaseAdapter在listView中的使用
- Cannot get a connection, pool error Timeout waiting for idle object (获取不到数据库连接)...
- jetson 安装atp-get install qt时出现 unable to locate 或者dependencies unmet的报错
- Windows 下使用GNU开发环境[转]
- 南阳理工acm,水仙花数
- 假币问题 (n枚硬币+未知轻重+DFS)
- python Calendar日历模块函数介绍
- QNX Hypervisor —— 内存
- 第六届蓝桥杯大赛个人赛决赛(软件类)真题
- XML - XML学习/XML文件解析器(C++)实现
- SQLite 使用问题记录(一)
- AVL树 01 AVL树基础
- 新麦机械冲刺深交所:年营收9.7亿 谢氏家族持股23%
热门文章
- js判断file是否为空_JS - 获取文件后缀,判断文件类型(比如是否为图片格式)...
- atsl android auto吗,二十万就能开上凯迪拉克ATS-L,还有人在纠结买ATS还是GS?
- Muse-UI +Vue2.0框架开发环境搭建
- Spark SQL概念学习系列之Spark Shark是什么?
- 简析银行业数据中心的特点
- 基础知识系列☞关键字→virtual
- 最后的配置部分:LNMP+Tomcat
- H3C之虚拟路由器冗余协议(VRRP)的原理及应用
- 网规之路——强化项目管理知识点训练
- 利用python os模块搜索指定目录下包含指定字符的文件