自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

亚信大数据性能优化小组

专注于OS、JVM、HDFS的性能优化

  • 博客(34)
  • 收藏
  • 关注

原创 JVM如何选择ParallelGCThreads

1、含义    ParallelGCThreads,表示JVM在进行并行GC的时候,用于GC的线程数,-XX:ParallelGCThreads=43,表示配置GC线程数为43。2、JVM相关接口    JVM中,关于ParallelGCThreads的计算代码如下:unsigned int VM_Version::calc_parallel_worker_threads() 

2014-07-21 17:44:45 13654

原创 在Eclipse环境下构建jdk7u40 Windows版调试环境

1、在 http://download.java.net/openjdk/ 现在文件:openjdk-7u40-fcs-src-b43-26_aug_2013.zip,并节约,本文解压到 D:\openjdk2、执行下列脚本,进行文件拷贝:xcopy  D:\openjdk\corba\src\share\classes\*  D:\jdk7u40src\

2014-07-07 18:35:00 2001

原创 Class文件格式(3)-Constant && Code

1.ConstantValue    ConstantValue属性是定长属性,位于field_info结构项的属性表中,该属性描述了一个常量字段的值。field_info结构项中最多只能够有一个ConstantValue属性。如果field_info结构项所描述的字段是static字段,也即描述该字段的field_info的access_flags被设置了ACC_STATIC标记,则fiel

2014-07-03 16:11:25 1085

原创 Class文件格式(2)-深入理解ClassFile

1.access_flags    继常量池之后,紧随着的两个字节代表当前类或者接口的访问控制权限,具体如下:    1.1、ACC_SYNTHETIC        表示当前类的是由编译器自己生成的,而不是由用户编写的程序源代码经过编译器编译生成的。    1.2、ACC_ENUM        当前类或者当前类的父类被声明为枚举类型。    1.3、ACC_IN

2014-06-26 14:24:20 1028

原创 ParOldGen && PSOldGen

inline const char* PSOldGen::select_name() { return UseParallelOldGC ? "ParOldGen" : "PSOldGen";}

2014-06-24 15:46:13 5228 1

原创 JVM tiered x86_x64 flags

static Flag flagTable[] = { { "bool", "UseCompressedOops", &UseCompressedOops, "Use 32-bit object references in 64-bit VM. " "lp64_product means flag is always constant in 32 bit VM", "{lp64_product

2014-06-24 14:16:31 2818

原创 Class文件格式(1)-常量池

1.Class文件格式    根据Java虚拟机描述,Class文件中数据的排列并不需要严格的字节对齐,因此字节与字节之间没有"空隙",各个字节所处的位置以及所表达的含义都是严格限定的,对于多字节数据,严格按照大端模式存储。    能够被JVM识别并执行的Class文件或者网络字节流应该具有如下格式:     1.1、magic        magic为JVM所能

2014-06-17 16:00:46 965

原创 handles.hpp:Handle && KlassHandle

//------------------------------------------------------------------------------------------------------------------------// Specific Handles for different oop types#define DEF_HANDLE(type, is_a)

2014-06-13 12:39:48 1058

原创 Google Ips

Bulgaria93.123.23.193.123.23.293.123.23.393.123.23.493.123.23.593.123.23.693.123.23.793.123.23.893.123.23.993.123.23.1093.123.23.1193.123.23.1293.123.23.1393.12

2014-06-13 11:59:18 12284

原创 汇编学习笔记第18~20章:常用汇编指令汇总-课后练习-源代码

第十八章 常用汇编指令汇总8086CPU汇编指令:1、mov ax,23 表示将23移动到ax寄存器中。2、add ax,bx 表示将ax和bx的值相加,将结果存放到ax中。3、jmp 2AE3:3 表示将CS段地址更改为2AE3,将IP指令指针地址更改为3.4、jmp ax 表示仅仅修改IP的值,相当于"mov IP,ax",即用寄存器ax中的值修改IP的值。5、mo

2014-06-09 10:18:20 1610

原创 汇编学习笔记第14~17章:端口-外中断-直接定址表-BIOS读写

第十四章 端口第十五章 外中断

2014-06-09 10:10:31 1341

原创 汇编学习笔记第11~13章:标志寄存器-内中断-int指令

第十一章 标志寄存器第十二

2014-06-09 10:06:55 1302

原创 汇编学习笔记第4~10章:汇编原理-汇编指令实战

第四章 第一个程序第五章

2014-06-09 10:03:21 920

原创 汇编学习笔记第0~3章:基础知识-CUP工作原理-寄存器

第一章 基础知识第二章 CPU

2014-06-09 09:56:47 907

原创 构建OpenJDK 相关错误解决方法

-encoding ascii        在编译OpenJDK的时候,编译文件中调用javac时,为其指定了编码方式为ascii(添加了参数-encoding ascii),在遇到包含非ascii编码的java文件(corba模块的部分文件)的时候,javac会报错,导致编译失败,因此,需要将-encoding编译选项去掉,让javac选择与平台想关联的编码方式。    本文以去除

2014-06-07 17:29:39 1427

原创 Java程序常用工具

Java7的所有工具命令详细描述见:docs.oracle.com/javase/7/docs/technotes/tools/index.htmljavac Java源程序编译命令        描述:             javac (Java Programming Language Compiler) java程序编译器,用于将Java源程序编译为JVM

2014-06-06 13:28:43 1208

原创 Oracle Hash Join的代价模型及优化

Oracle CBO之Oracle Hash Join从整体上看,Oracle的Hash Join的原理和其它主流数据库的Hash Join的原理大致是一样的,只是Oracle对Hash Join进行了更为细粒度的划分,其中最为主要的就是,Oracle根据其内部的hash_area_size、_hash_multiblock_io_count、db_block_size以及需要构建hash

2014-05-30 10:34:17 1863

原创 程序执行和Cache

Oh,This is OS学习笔记之程序执行和Cache对于程序员而言,我们编写的程序都是用某一种程序设计语言进行编写,比如C语言,这些语言对于计算机而言是无法直接理解的,那么计算机是如何理解我们的程序,然后按照程序的要求去执行的呢?为了统一说明,本文假设使用C语言进行程序设计,当然,C语言中最为著名的莫过于HelloWord了,源码如下:#includestdio.h>int h

2014-05-30 10:09:11 1270

原创 漫游计算机系统

Oh,This is OS之漫游计算机系统不可否认,计算机是20世纪最为重要的发明,从计算机诞生的那天起,他就无时无刻不在影响着我们每个人的生活,也就是说,下面这句话的回答肯定是否定的:没有计算机,你能活么?但是究其根本,我个人认为,计算机之所以能够完美的“侵入”到人类生活的各个方面,主要还是在于其高效永久的信息存储(当然了,这是理论上的,存储信息的介质坏了,我就无话可说了)。那我不禁

2014-05-30 09:56:35 1394

原创 JVM 二进制字节码指令汇总

序号字节码 助记符 指令含义Constants:0x00 ~ 0x14,00~20,与常量操作相关 00 0x00 nop 什么都不做。  01

2014-05-28 15:55:45 1097

原创 Understanding CMS GC Logs

CMS GC with -XX:+PrintGCDetails and -XX:+PrintGCTimeStamps prints a lot of information. Understanding this information can help in fine tuning various parameters of the application and CMS to achieve

2014-05-27 17:17:49 830

原创 Win7 X86_64 下构建OpenJDK7u40 64bit调试环境

1.安装DXSDK    本文DXSDK的安装路径为:D:\Program Files (x86)\MSDXSDK\Microsoft DirectX SDK (June 2010)    2.安装Visual Studio 2010 && WindowsSDK 7.1 X64    本文VS2010的安装路径为:D:\Program Files (x86)\MSVisualStu

2014-05-27 16:58:44 3587

原创 图解Win7下构建OpenJDK7u40 32bit调试环境

0.说明    在Windows平台编译并调试OpenJDK7相对比较复杂,感兴趣的读者可以先按照本文的步骤在虚拟机环境下进行,然后再转移到物理机上。    或则,将虚拟机环境下构建好了的Cygwin和OpenJDK7工程打包到物理机上,然后配置相应的环境变量即可。    本文是在VMware Workstation的Windows 7 Ultimate en x86环境下编译并调试O

2014-05-26 20:25:49 4556

原创 Linux 编译OpenJDK

CentOS 6.5 i386 平台编译 OpenJDK8

2014-05-26 10:40:55 2175

原创 JVM 常用参数

参数名称含义默认值相关描述内存管理参数-Xms初始堆大小物理内存的1/64(默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.-Xmx最大堆大小物理内存的1/4(默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到

2014-05-26 10:16:05 1397

原创 Understanding G1 GC Logs

Thepurpose of this post is to explain the meaning of GC logsgenerated with some tracing and diagnostic options for G1 GC. We willtake a look at the output generated with PrintGCDetails which is apro

2014-05-22 14:34:19 2282

原创 G1 && PermGen && Metaspace

We received some questions around the G1 garbage collector and the use of Permanent Generation with it. There seems to be some confusion that the Hotspot JVM does not use permanent generation when G

2014-05-22 14:23:22 1326

原创 bump-the-pointer VS TLABs

Fast Allocation    As you will see from the garbage collector descriptions below, in many cases there are large contiguous blocks of memory available from which to allocate objects. Allocations from

2014-05-13 17:19:06 1236

原创 HotSpot 垃圾回收算法简介

HotSpot垃圾回收机制    分代回收垃圾回收算法    复制        将A空间中的可达对象复制到另一块空白空间B中,然后回收A的整个空间。(必须有一块空白空间,空间利用率不是很高,但是回收快)。    标记清除        遍历A空间,标记其中的可达对象,然后在遍历A空间,清除其中的不可达对象。(空间利用率高,但是会产生碎片,而且需要两次遍历空间A)。

2014-05-13 17:02:15 1055

原创 学Java的人都应该知道的那些事儿

第二章 对象与内存控制Static    对于static 关键字而言,从饲义上来看,它是"静态"的意思。但从Java 程序的角度来看,static 的作用就是将实例成员变为类成员。static 只能修饰在类里定义的成员部分 。包括成员变量、方法、内部类、初始化块、内部枚举类。如果没有使用static修饰这些类里的成员,这里成员属于该类的实例;如果使用了static修饰,这些成员就

2014-05-06 16:28:17 1062

转载 Hadoop小文件优化

先来了解一下Hadoop中何为小文件:小文件指的是那些文件大小要比HDFS的块大小(在Hadoop1.x的时候默认块大小64M,可以通过dfs.blocksize来设置;但是到了Hadoop 2.x的时候默认块大小为128MB了,可以通过dfs.block.size设置)小的多的文件。如果在HDFS中存储小文件,那么在HDFS中肯定会含有许许多多这样的小文件(不然就不会用hadoop了)。而HDF

2014-04-28 16:20:25 925

转载 Hadoop作业JVM堆大小设置优化

前段时间,公司Hadoop集群整体的负载很高,查了一下原因,发现原来是客户端那边在每一个作业上擅自配置了很大的堆空间,从而导致集群负载很高。下面我就来讲讲怎么来现在客户端那边的JVM堆大小的设置。  我们知道,在mapred-site.xml配置文件里面有个mapred.child.java.opts配置,专门来配置一些诸如堆、垃圾回收之类的。看下下面的配置:

2014-04-28 16:18:27 1109

转载 Hadoop优化与调整

io.file.buffer.size  hadoop访问文件的IO操作都需要通过代码库。因此,在很多情况下,io.file.buffer.size都被用来设置缓存的大小。不论是对硬盘或者是网络操作来讲,较大的缓存都可以提供更高的数据传输,但这也就意味着更大的内存消耗和延迟。这个参数要设置为系统页面大小的倍数,以byte为单位,默认值是4KB,一般情况下,可以设置为64KB(65536byte

2014-04-28 15:59:42 619

转载 操作系统级别对Hadoop性能优化

由于Hadoop自身的一些特点,它只适合用于将Linux作为操作系统的生产环境。在实际应用场景中,管理员适当对Linux内核参数进行调优,可在一定程度上提高作业的运行效率,比较有用的调整选项如下。一、增大同时打开的文件描述符和网络连接上限  在Hadoop集群中,由于涉及的作业和任务数目非常多,对于某个节点,由于操作系统内核在文件描述符和网络连接数目等方面的限制,大量的文件读写操作和网络连

2014-04-28 15:53:03 624

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除