关闭

JVM内存溢出导致的CPU过高问题排查案例

问题背景: 近期针对某接口做压力测试的过程中发现,某接口在用户量3千左右,并且业务没有对外开放,CPU一直居高不下。 分析:初步怀疑开发人员逻辑控制不严谨, 导致死循环,因为业务量不大,用户量不大,不可能出现高并发。  1.通过jstack查找出对应执行线程是Vm Thread 线程,初步怀疑是频繁的GC导致cpu过高。  2.查看堆栈信息 jmap -heap 16190...
阅读(42) 评论(0)

Tomcat8开启APR

安装apr 1.5.2  下载 http://apache.fayea.com//apr/apr-1.5.2.tar.gz # cd /usr/local/src # wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz # tar -xzvf apr-1.5.2.tar.gz # cd apr-1.5.2 # ./confi...
阅读(64) 评论(0)

linux下创建具有root权限的帐号

linux下创建具有root权限的帐号 useradd -u 0   -o  -g root  -G root -d /home/user1 user1 usermod -u 0  -o  -g root  -G root user1 说明: -u 0:指将uid指定为0(零)与root相同,登录后的提示符为#而非$。 -o:指因为重复了uid(与root帐号的uid...
阅读(93) 评论(0)

linux配置文件的一些调优

Linux中所有东西都是文件,一个socket就对应着一个文件描述符,因此系统配置的最大打开文件数以及单个进程能够打开的最大文件数就决定了socket的数目上限;但是linux是有文件句柄限制的,而且默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量 一、limits.conf文件 工作原理 limits.conf文件实际是Linux PAM(插入式认证模块,P...
阅读(138) 评论(0)

三个实例演示JavaThread Dump 日志分析

jstack Dump 日志文件中的线程状态 dump 文件里,值得关注的线程状态有: 死锁,Deadlock(重点关注) 执行中,Runnable   等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspended对象等待中,Object.wait() 或 TIM...
阅读(44) 评论(0)

使用getopt命令解析shell脚本的命令行选项

在之前的一篇文章中,介绍了如何利用shell内置的getopts命令来帮助我们处理shell脚本选项和参数,其缺点是只能处理短选项,无法处理长选项。下面,本文将要介绍的是getopt命令,它可以同时处理短选项和长选项。 首先,getopt命令不是一个标准的unix命令,但它在大多数Linux的发行版中都自带了有,如果没有,也可以从getopt官网上下载安装。 在getopt的较老版本中...
阅读(95) 评论(0)

Linux服务器性能评估与优化(二)

1、Linux内核参数优化      内核参数是用户和系统内核之间交互的一个接口,通过这个接口,用户可以在系统运行的同时动态更新内核配置,而这些内核参数是通过Linux Proc文件系统存在的。因此,可以通过调整Proc文件系统达到优化Linux性能的目的。 一、sysctl命令 sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数...
阅读(88) 评论(0)

linux实战(二)----shell脚本监控实例-----日志截取三个命令在性能监控等运用中的实例解析

上篇文章我们已经大概了解了 日志截取常用的三个命令:grep   sed  awk。 具体可参考: linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用 本文主要记录 这三个命令的运用,一些监控实例的讲解。 对进程是否存在进行监控 思路 在对进程进行监控时,也...
阅读(203) 评论(0)

手把手教你用Strace诊断问题

早些年,如果你知道有个 strace 命令,就很牛了,而现在大家基本都知道 strace 了,如果你遇到性能问题求助别人,十有八九会建议你用 strace 挂上去看看,不过当你挂上去了,看着满屏翻滚的字符,却十有八九看不出个所以然。本文通过一个简单的案例,向你展示一下在用 strace 诊断问题时的一些套路。 如下真实案例,如有雷同,实属必然!让我们看一台高负载服务器的 top 结果...
阅读(91) 评论(0)

Linux批量清空当前目录中的日志文件

在Linux中,有时需要批量清空当前目录中的日志文件,同时还要保留日志文件。 其实一行shell命令就可以搞定,一起来看看吧。 在当前目录下,键入如下命令: for i in `find . -name "*.log"`; do cat /dev/null >$i; done for i in `find . -name "*.log"`;do >$i; done ...
阅读(51) 评论(0)

centos6.3下安装loadrunner 11的负载端LoadGenerator实战

优化系统: 编辑/etc/security/limits.conf  增加或修改以下配置: vim /etc/security/limits.conf  # 添加或修改如下的行 * soft nproc 131072 * hard nproc 131072 * soft nofile 655350 * hard nofile 655350 编辑/etc/sysctl...
阅读(75) 评论(0)

LR参数和变量

一、参数:   1. 在LR函数中可以直接使用参数。参数必须在双引号“”中才能应用。大部分情况下,可以直接用参数代替函数中双引号内的数据。如下使用方法:     lr_save_string("http://www.baidu.com","url");     web_url("test","URL={url}",LAST); 2. 参数是全局的,同一个脚本的任何一个a...
阅读(61) 评论(0)

LoadRunner中常用的字符串操作函数

LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strcat(string_that_gets_appended, string_that_is_appended);51Testing软件测试网:J3~c:c[(wR%A2l     ...
阅读(67) 评论(0)

Jmeter对Json格式数据的三种处理方式

Json 作为一种数据交换格式在网络开发,特别是 RESTful(Representational State Transfer)架构中应用得越来越广泛。Jmeter是一款很适合做接口和性能的测试工具,对于下面这一段Json 格式的响应报文我们可以在jmeter里面使用三种不同的方法来进行数据的抽取工作。 { : "code":"000000", : "data": : { : ...
阅读(97) 评论(0)

ANT命令总结

ANT命令总结 1 Ant是什么? Apache Ant 是一个基于 Java的生成工具。 生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式)。随着应用程序的生成过程变得更加复杂,确保在每次生成期间都使用精确相同的生成步骤,同时实现尽可能多的自动化,以便及时产生一致的生成版本 2 下载、安装Ant 安...
阅读(124) 评论(0)

JVM性能参数优化

JVM性能参数优化 以上是jdk1.7的默认GC回收器 Java的gc回收的类型主要有几种  UseSerialGC, UseConcMarkSweepGC, UseParNewGC, UseParallelGC, UseParallelOldGC, UseG1GC,而这几个参数是如何搭配的,实际上只要看下面的代码就非常清楚 ...
阅读(45) 评论(0)

使用jmap和MAT分析JVM堆内存

我的一台生产环境机器每次运行几天之后就会莫名其妙的宕机,分析日志之后发现在tomcat刚启动的时候内存占用比较少,但是运行个几天之后内存占用越来越大,通过jmap命令可以查询到一些大对象引用没有被及时GC,这里就要求解决内存泄露的问题。 Java的内存泄露多半是因为对象存在无效的引用,对象得不到释放,如果发现Java应用程序占用的内存出现了泄露的迹象,那么我们一般采用下面的步骤分...
阅读(54) 评论(0)

Java程序内存分析:使用mat工具分析内存占用

在工作中可能会遇到内存溢出这种灾难性的问题,那么程序肯定是存在问题,找出问题至关重要,上一篇文章讲了jmap命令的使用方法,当然用jmap导出的文件我们也看不懂啊,那就交给memory analyzer(mat)这个工具,让他帮助我们来观察程序的内存分布情况吧。   1. 用jmap生成堆信息2. 将堆信息导入到mat中分析   3. 生成分析报告HistogramDominato...
阅读(94) 评论(0)

jdk工具之jmap(java memory map)、 mat之四--结合mat对内存泄露的分析、jhat之二--结合jmap生成的dump结果在浏览器上展示

1、介绍 打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。   可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。...
阅读(115) 评论(0)

BeanShell用法汇总(部分摘抄至网络)

说明:本文部分资料摘抄至 来源: http://www.cnblogs.com/puresoul/p/4915350.html来源: http://www.cnblogs.com/puresoul/p/4949889.html来源: http://blog.csdn.net/silencemylove/article/details/51373873 一、什么是Bean Shell ...
阅读(90) 评论(0)
29条 共2页1 2 下一页 尾页
    个人资料
    • 访问:2971次
    • 积分:82
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:28篇
    • 译文:0篇
    • 评论:0条