性能优化
火焰雪人
这个作者很懒,什么都没留下…
展开
-
Zero-copy
[译] http://en.wikipedia.org/wiki/Zero-copy "Zero-copy" 用来描述主机的CPU不执行将数据从一个存储区复制到另一个的任务。这经常是在网络分发文件的时候用来节省电力和内存。[1] Principle各种操作系统上的Zero-copy方式例如设备驱动程序,文件系统,网络协议栈,大大提高了某些应用程序的性能和系统资源利用率。在数...原创 2013-02-19 12:26:23 · 312 阅读 · 0 评论 -
虚拟机stack全分析
通过jps -lv 获取到本地的一个JVM实例进程。再通过jstack pid > thread.txt ,把stack trace输出到thread.txt文件中。2012-08-28 23:16:39 2012-08-28 23:16:39Full thread dump OpenJDK Client VM (19.0-b09 mixed mode, sha...原创 2012-09-08 09:00:40 · 190 阅读 · 0 评论 -
jps小记
jps -mlVv localhostjps [ options ] [ hostid ]其中,options可以用:-q (安静) -m (输出传递给main方法的参数) -l (显示完整路径) -v (显示传递给JVM的命令行参数) -V (显示通过flag文件传递给JVM的参数) -J (和其他Java工具类似用于传递参数给命令本身要调用的java进程);hostid是主机id,默认loca...原创 2012-08-27 22:25:37 · 110 阅读 · 0 评论 -
jstat小记
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。jstat -class pid:显示加载class的数量,及所占空间等信息。jstat -compiler pid:显示VM实时编译的数量等信息。jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别...原创 2012-08-27 21:58:41 · 93 阅读 · 0 评论 -
寻找响应时间最长的线程
在排查一些load过载和CPU使用过高的情况,我们往往会去排查对应的JVM进程下所有线程的使用情况。到底是线程出现死锁,线程僵死,或者其他情况。但是有一个比较直观的,就是看哪个线程最耗时,他基本就是那个有问题的。 1、找出进程pid。 jps -v 或者ps aux| grep java都可以达成目的。 2、查看该进程下的所有线程。top -H -p 18919 ...原创 2012-08-27 13:51:21 · 217 阅读 · 0 评论 -
Instrument小窥
java.lang.instrument是java 5开始引入的,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解决问题。使用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义.Java5的特性:运行前利用命令行参数或者系统参数来设...原创 2012-11-16 19:02:21 · 152 阅读 · 0 评论 -
单例模式寻优
谈到单例模式,目前最常见的代码模式不外乎两种:懒加载模式和饥饿模式。常见实现如下:public class Singleton { private static Singleton instance; public static synchronized Singleton getInstance(){ if(instance ==null){ in...原创 2012-05-27 23:15:13 · 107 阅读 · 0 评论 -
Linux服务器性能小结
一、服务器性能因素 1、CPU 2、内存 3、磁盘I/O带宽 4、网络I/O带宽 Load:系统负载指运行队列的平均长度,也就是等待CPU的平均进程数。Load越高说明系统响应越慢,如果load是0,代表进程不需要等待,立刻就能获得cpu运行。可以通过查询文件/proc/loadavg获取系统在前一分钟、前五分钟和前十五分钟的平均负载以及当前运行的进程、系统的进程...2011-10-01 00:01:38 · 175 阅读 · 0 评论 -
NIO学习全概括
前言最近在看java NIO的一些中文资料,确实比较的头疼。文章的好坏良莠不齐,好的文章一看,受益不少;讲的不好的,被引得偏差了3百里才绕回来。更有的只有NIO 1.0的内容,2.0的只字未提。本文主要目的是对NIO知识系统进行总结和梳理,并给大家提供一篇“能看”且较全面的文章。 一、操作系统I/O模型学习NIO的前提是了解操作系统的I/O模型。 操作系统I/O模型...原创 2013-02-26 19:50:28 · 173 阅读 · 0 评论