- 浏览: 22566 次
- 性别:
- 来自: 杭州
最新评论
-
marshan:
如果是64位JDK 使用:jinfo -J-d64 6692 ...
JVM 学习问题记录帖
文章列表
http://blog.sina.com.cn/s/blog_71ad0d3f01019uzl.html Linux 性能测试与分析
load 与 cpu use
- 博客分类:
- Linux
引自一个load 飙到20 (5核), 单cpu idle在80%多的case 。
木名-内核(09:52:24):
load是采集一个瞬间的运行进程和uninterruptible进程进行计算,cpu利用率是整个时间段的繁忙程度,不是很一样
木名-内核(09:53:41):
比如在1ms里面,有100us会有5个线程排队处理,其他900us没有,那么你看到的oad可能是5,但是cpu利用率只有10%
狄卢(09:57:51):
那load 分1分 5分 15分 三种值,让人感觉是平均值。但实际上,也是在1分钟之内采集 ...
由 bluedavy 的一篇博客展开
· <clinit>
是由编译器收集static 字段、static 语句块生成的静态初始化方法, 虚拟机在初始化类的时候负责执行,并且父类先于子类;jvm负责加锁同步多个企图并发初始化一个类的调用 。
正是由于这里对<clinit>的隐含加锁,导致了B大帖子里死锁现象的产生。
类的初始化问题可以见《深入jvm虚拟机》 p187
通过javap -c 找不到<clinit> ,但是能看到static{}块,实际上它就是<clint> , 见R大帖子
· static 字段与 stat ...
一段打印堆栈的java代码
- 博客分类:
- Java 相关
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
...
在需要将一个数字类型变量转换得到String 时,经常使之与空字符串连接:
int i = 100 ;
String str = i+"" ;
另外, 还有:
String str1 = String.valueOf(i) ;
String str2 = Integer.toString(i) ;
两种语法。 其中String.valueOf 会调用Integer.toS ...
一个cmsgc 频繁问题的排查
- 博客分类:
- Java 相关
现象:一个平时运行2小时的任务,突然一天还没跑完,看系统cpu、load都不算高,接口监控发现rt从平时几ms到几十ms增加到了几千ms。
起初怀疑线程被阻塞了,然后top -p -H查看线程,返现有一个运行时间远远大于其他线程,j ...
定义计时单位t,一般对象的寿命从1t到10t不等,长对象为mt不死,对象大小均为s,内存空间大小es,s0s,s1s,os,ps 。单位时间产生不同生命周期的对象为……,那么假设5t时es填满,根据对象的寿命及生成时间点,有些对象被清除,剩余进入s0s。假设对象生成是匀速的,gc周期也就基本固定,在多次gc后,s区填满,高龄对象进入old区这样一来,影响内存使用的因素就比较明确了:……
随着对象生成频率加快,gc发生的更加频繁,极端情况1t一次的话,对象基本无法在young被回收
简 化场景二: 对象都是等周期,匀速生成,在任意时间点的存活对象比例是固定的,看成是河流的 ...
btrace 源码工程构建
- 博客分类:
- Java 相关
btrace 源代码由Mercurial管理。
mercurial 是分布式版本控制工具。所谓分布式就在每个终端都会维护一个完整的版本库,多人协作可以指定一个库作为中心库,所有人通过该库实现协作。
大体的工作流程是,首先,从一个中心库 ...
· 几个内存控制参数:
-XX:PermSize=96m perm 区初始大小,用来装载类信息 -XX:MaxPermSize=128m perm区最大值 -XX:NewRatio=1 tenured区与young区的比值 -XX:+DisableExplicitGC 禁用System.gc(), 代码显式调用将被忽略
· jstat 工具:
jstat -gccause pid xxs xxxx
输出格式:S0 S1 E O P YGC YGCT ...
1、安装ultraISO (下载 http://kuai.xunlei.com/d/u6moDz1akcYgUQQAcb2), 安装完成后,使用key.txt文件里的第一组用户名、注册码注册软件2、将光盘放入光驱,插上U盘(U盘4g大小,里面东西都拷出来,需要格式化)3、打开ultraISO软件(开始菜单里),按照下面三步进行操作 1)
选中左下角区域内的光盘盘符;
"不可引导光盘" 会显示为“可引导光盘”, 如果不是 ,可以单击右侧对号切换 2)从“启动”菜单选 写入硬盘映像 3)
硬盘驱动器里选择对应的U盘,然后执行“格式化”, 格式化完毕之后执行 “写入”
...
JVM 学习问题记录帖
- 博客分类:
- Java 相关
· 通过jinfo pid 查看eclipse的jvm启动参数报错:
google得知这是由于openjdk内部版本不一致导致的,然后到oracle官方下载新版本jdk重新安装之解决
D:\dev-tools\Java\jdk1.6.0_32\bin>jinfo 6692
Attaching to process ID 6692, please wait...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.refle ...
http://zookeeper.apache.org/doc/r3.3.2/zookeeperOver.html#fg_zkPerfRW
ZooKeeper A Distributed Coordination Service for Distributed Applications
====================================================
zk 提供了一系列的原语(primitives),基于这些原语,可以构 ...
expect 能够通过捕获脚本的输出,模拟控制台的输入,从而实现自动交互。
这里用这个命令是为了实现免登陆。
免登陆的原理是,通过ssh-keygen -t dsa 生成dsa密钥,然后将密钥传递到目标机器的~/.ssh/authorized_keys 文件,即可实现免登。
但是在传递密钥时依然是需要输入密码的,如果机器比较多,再一个一个的输入就比较麻烦了,私用expect拦截脚本输出,然后发送密码的方式比较爽。
expect 通过spawn 命令执行shell命令,然后产生的输出能够通过expect命令捕获,再根据捕获到的内容,通过send _string 将需要输入的内容模拟输入。
...
安装了x windows桌面,直接输入 yast 会启动一个控制台,控制台里有network setting ,里面配一下就行了
【OS-linux】 yum
- 博客分类:
- Linux
使用 yum 管理软件
http://61.153.44.88/yum/managing-software-with-yum-zh_cn/sn-software-management-concepts.html