java非堆内存_java – 监视JVM的非堆内存使用情况

我们通常处理OutOfMemoryError问题,因为堆或permgen大小配置问题。

但是所有的JVM内存不是permgen或者heap。

据我所知,它也可以与Threads / Stacks,本地JVM代码相关…

但是使用pmap我可以看到进程分配了9.3G这是3.3G堆外内存使用。

我不知道什么是监视和调整这种额外的堆外内存消耗的可能性。

我不使用直接的离堆内存访问(MaxDirectMemorySize是64m默认)

Context: Load testing

Application: Solr/Lucene server

OS: Ubuntu

Thread count: 700

Virtualization: vSphere (run by us, no external hosting)

JVM

java version "1.7.0_09"

Java(TM) SE Runtime Environment (build 1.7.0_09-b05)

Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

Tunning

-Xms=6g

-Xms=6g

-XX:MaxPermSize=128m

-XX:-UseGCOverheadLimit

-XX:+UseConcMarkSweepGC

-XX:+UseParNewGC

-XX:+CMSClassUnloadingEnabled

-XX:+OptimizeStringConcat

-XX:+UseCompressedStrings

-XX:+UseStringCache

内存映射:

vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

1 0 1743 381 4 1150 1 1 60 92 2 0 1 0 99 0

自由

total used free shared buffers cached

Mem: 7986 7605 381 0 4 1150

-/+ buffers/cache: 6449 1536

Swap: 4091 1743 2348

最佳

top - 11:15:49 up 42 days, 1:34, 2 users, load average: 1.44, 2.11, 2.46

Tasks: 104 total, 1 running, 103 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.5%us, 0.2%sy, 0.0%ni, 98.9%id, 0.4%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 8178412k total, 7773356k used, 405056k free, 4200k buffers

Swap: 4190204k total, 1796368k used, 2393836k free, 1179380k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

17833 jmxtrans 20 0 2458m 145m 2488 S 1 1.8 206:56.06 java

1237 logstash 20 0 2503m 142m 2468 S 1 1.8 354:23.19 java

11348 tomcat 20 0 9184m 5.6g 2808 S 1 71.3 642:25.41 java

1 root 20 0 24324 1188 656 S 0 0.0 0:01.52 init

2 root 20 0 0 0 0 S 0 0.0 0:00.26 kthreadd

...

df – > tmpfs

Filesystem 1K-blocks Used Available Use% Mounted on

tmpfs 1635684 272 1635412 1% /run

我们的主要问题:

>服务器有8G的物理内存

> Solr的堆只有6G

>有1.5G的交换

> Swappiness = 0

>堆消耗似乎适当调整

>在服务器上运行:只有Solr和一些监视的东西

>我们有一个正确的平均响应时间

>我们有时会有长时间停顿,长达20秒

我想暂停可能是一个完整的GC上交换堆右?

为什么有这么多的互换?

我甚至不知道这是否是使服务器交换的JVM,或者如果它是隐藏的,我看不到的东西。也许操作系统页面缓存?但不知道为什么操作系统将创建页面缓存条目,如果创建交换。

我正在考虑测试mlockall技巧用于一些流行的基于Java的存储/ NoSQL像ElasticSearch,Voldemort或Cassandra:check Make JVM/Solr not swap, using mlockall

编辑:

在这里你可以看到最大堆,使用堆(蓝色),使用的交换(红色)。它似乎是相关的。

我可以看到与Graphite有很多ParNew GC定期发生。而且有一些CMS GC对应于堆图像的显着减少。

暂停似乎不与堆减少相关,但是在10:00和11:30之间有规律地分布,因此它可能与ParNew GC有关。

在负载测试期间,我可以看到一些光盘活动以及一些交换IO活动,这是真的平静的,当测试结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net core HttpContext(Http上下文)

在.NET Core中,只有Controller才能直接使用 HttpContext ,其他地方需要通过HttpContextAccessor来访问 转载于:https://www.cnblogs.com/87Super/p/8975311.html

Tidb集群加mysql_TiDB - 快速入门,集群搭建

TiDB 是开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 …

一个ssm综合小案例-商品订单管理-第二天

准确来说是第二三天,一时兴起,把这个小项目一鼓作气写完了(较大的bug 均已被我手动捉出并 fix )才来写一篇博客。 接上文 第一天配置继续讲解: 转载于:https://www.cnblogs.com/Frank99/p/8975378.html

java运行时读取注解_Java自定义注解和运行时靠反射获取注解

转:1、Annotation的工作原理:JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型。该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的class文件和一个注解处理工具…

python递归函数

递归函数简单来说就是函数的自我调用。使用递归函数很多时候可以使得代码简洁,优雅。可以把复杂的问题分解成简单的子问题。递归有无与伦比的魅力,从著名的计算机名言就可以看出递归的奇妙: To iterate is human,to recurse divine. 迭代者为…

java的jsp要下载吗_jsp、java下载附件

1 传入此jsp中的参数均已URLDencoder过。23 4 5 6 7 boolean isError false;8 String errorMsg "";9 response.reset();//可以加也可以不加10 request.setCharacterEncoding("UTF-8");11 String folder "news";12 if(request.getParameter(&q…

浅谈高斯消元的实现和简单应用

一、高斯消元的原理 对于n元的m个线性方程组成的方程组,我们将其以矩阵的形式记录下来: a11 a12 a13 ...... a1n b1 a21 a22 a23 ...... a2n b2 ... ... ... an1 an2 an3 ...... ann bn 然后进行初等行列变换,尝试构造出一个上三角矩阵&#…

java知识体系 servlet_03-Servlet 体系结构知识梳理

一、Servlet体系结构Java Web应用是基于Servlet规范运行,Servlet顶层类的关联如下图:从图可看出,Servlet规范基本围绕这几个类运行,其中,与Servlet主动关联的有3个类,分别是ServletRequest、ServletRespons…

SQL批量提交修改业务

把你需要批量提交修改的东西在内存中修改完毕 然后执行以下代码 SqlConnection conn new SqlConnection(ConnectionString);SqlDataAdapter sda new SqlDataAdapter("select Id,RankSummary,RankOfCn,Classify from u_College;", conn); //这里的SQL语句可以是查询…

testlink自带java api_java如何连接testlink

1.下载相关的jar包2.获取到testlink的url和key,注意:url不是testlink的连接地址,是连接地址/lib/api/xmlrpc.php3.测试是否连接成功public static void main(String args[]) {String url "http://test.tl.gmsd.lan/lib/api/xmlrpc.php&…

ubuntu解压缩zip/tar/tar.gz/tar.bz2

ubuntu解压缩zip/tar/tar.gz/tar.bz2ZIPzip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得…

lr背景虚化_lr背景虚化_怎样拍出背景模糊的照片

除了锐化之外,要获得独特的,令人难忘的图像,还可以使用其他方法,例如,相反的效果-单个细节的模糊。这样的方法将使人们有可能专注于整个构图的中心人物,为图片增加情感色彩,动作,并为…

MySql Delimiter

Delimiter 重新定义结束符,delimiter 默认情况下是 分号 (;) ,即默认情况下,Mysql解释器,遇到分号,则执行该命令。 但在mysql可视化图形客户端编辑命令时,当编辑的sql语句存在多行命…

在线五子棋JAVA网络编程_实验五 Java网络编程及安全

一、实验内容1.掌握Socket程序的编写;2.掌握密码技术的使用;3.设计安全传输系统。二、实验步骤1. 基于Java Socket实现安全传输2. 基于TCP实现客户端和服务器,结对编程一人负责客户端,一人负责服…

Python学习之==文件操作

1、打开文件的模式 1 r,只读模式(默认)【不可写;文件不存在,会报错】 2 w,只写模式【不可读;不存在则创建;存在则删除内容】 3 a,追加模式【不可读;不存在则创…

java多线程创建runnable_Java线程池和runnables创建runnables

有很多方法可以做你想要的 . 您需要小心,不要最终创建太多线程 .以下是一个示例,您可以使用ExecutorCompletionService提高效率,也可以使用Runnable .import java.util.ArrayList;import java.util.List;import java.util.Random;import java…

CF某gym G

题目大意&#xff1a;给定n个点&#xff0c;求一条直线最多能经过几个点(n<1000) 做法&#xff1a;大暴力。。。枚举每一个点作为直线的端点&#xff0c;然后求出剩下n-1个点和它的斜率&#xff0c;斜率相同的说明可以同时在一条直线上 #include<bits/stdc.h> #define…

java嵌入式开发neo4j_java-嵌入式Neo4j实际如何工作?

我是neo4j的新手,根据我到目前为止所做的阅读,似乎有两种方法可以使用Neo4j REST和Embedded与neo4j进行交互.我有点困惑的是,“嵌入式”选项是否仅使您能够使用本机Neo4j API操纵数据存储,还是可以嵌入Neo4j并将其与Java应用程序打包,如果可以的话,我该怎么做&#xff1f;解决方…

rnn中文语音识别java_语音识别算法阅读之RNN-T-2018

论文&#xff1a;EXPLORING ARCHITECTURES, DATA AND UNITS FOR STREAMING END-TO-END SPEECH RECOGNITION WITH RNN-TRANSDUCER,2018CTC的一个问题在于&#xff0c;其假设当前帧的输出与历史输出之间的条件独立性&#xff1b;RNN-T引入预测网络来弥补CTC这种条件独立性假设带来…

java数字不等于_java – 仅使用set中的数字查找等于或大于给定目标的总和

首先让我们将这个问题简化为整数而不是实数,否则我们将无法获得快速优化算法.例如,让我们将所有数字乘以100,然后将其四舍五入为下一个整数.所以说我们有项目大小x1,…,xn和目标大小Y.我们想要最小化该值k1 x1 … kn xn – Y在这种条件下(1) ki is a non-positive integer fo…