- 浏览: 577005 次
- 性别:
- 来自: 广州杭州
最新评论
-
bohc:
谢谢,搞了两天了,现在才算是找到问题所在,解决了。
文件在使用FileChannel.map后不能被删除(Windows上) -
zhang0000jun:
在jdk1.8中执行正好和楼主的结果相反,请指教
从Java视角理解CPU缓存(CPU Cache) -
在世界的中心呼喚愛:
forenroll 写道请问楼主的那个分析工具cachemis ...
从Java视角理解CPU缓存(CPU Cache) -
xgj1988:
我这里打出的结果是: 0 L1-dcache-load-mis ...
从Java视角理解CPU缓存(CPU Cache) -
thebye85:
请教下大神,为什么频繁的park会导致大量context sw ...
从Java视角理解CPU上下文切换(Context Switch)
文章列表
同事发现在Windows上使用FileChannel的map方法之后, 不能够删除掉文件. 我在Linux上试了一下, 发现没这个问题。 做个笔记, 记录一下.
import java.io.File;
import java.io.RandomAccessFile;
import java.lang.reflect.Method;
import java.nio.ByteBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.channels ...
昨天中午的时候, 团队的兄弟找我看一个现象: 原先因为堆外内存使用过多会crash掉的java应用, 设置了最大堆外内存量(MaxDirectMemorySize)后jvm不会crash, 但出现了机器的两颗CPU全部被占满, 而且java程序没有响应的情况.
我用jstat -gc/-gcutil/-gccause查了一下当时gc的情况, 发现出现过CMS GC, 最后一次导致GC的原因是CMS final remark, 没有什么异常. 新生代和旧生代占用量都比较少, survior的from与to区域都正常. 这就比较诡异了, 如果因为堆外内存超出了MaxDirectMe ...
从Java视角理解系统结构连载, 关注我的微博(链接)了解最新动态
从我的前一篇博文中, 我们知道了CPU缓存及缓存行的概念, 同时用一个例子说明了编写单线程Java代码时应该注意的问题. 下面我们讨论更为复杂, 而且更符合现实情况的多核编程时将会碰到的问题. 这些问题更容易犯, 连j.u.c包作者Doug Lea大师的JDK代码里也存在这些问题.
MESI协议及RFO请求
从前一篇我们知道, 典型的CPU微架构有3级缓存, 每个核都有自己私有的L1, L2缓存. 那么多线程编程时, 另外一个核的线程想要访问当前核内L1, L2 缓存行的数据, 该怎么办呢?
有人说可以通过第2个核直接 ...
从Java视角理解系统结构连载, 关注我的微博(链接)了解最新动态
众所周知, CPU是计算机的大脑, 它负责执行程序的指令; 内存负责存数据, 包括程序自身数据. 同样大家都知道, 内存比CPU慢很多. 其实在30年前, CPU的频率和内存总线的频率在同一个级别, 访问内存只比访问CPU寄存器慢一点儿. 由于内存的发展都到技术及成本的限制, 现在获取内存中的一条数据大概需要200多个CPU周期(CPU cycles), 而CPU寄存器一般情况下1个CPU周期就够了.
CPU缓存
网页浏览器为了加快速度,会在本机存缓存以前浏览过的数据; 传统数据库或NoSQL数据库为了加速查询, 常在内存 ...
从Java视角理解系统结构连载, 关注我的微博(链接)了解最新动态
在高性能编程时,经常接触到多线程. 起初我们的理解是, 多个线程并行地执行总比单个线程要快, 就像多个人一起干活总比一个人干要快. 然而实际情况是, 多线程之间需要竞争IO设备, 或者竞争锁资源,导致往往执行速度还不如单个线程. 在这里有一个经常提及的概念就是: 上下文切换(Context Switch).
上下文切换的精确定义可以参考: http://www.linfo.org/context_switch.html. 下面做个简单的介绍. 多任务系统往往需要同时执行多道作业.作业数往往大于机器的CPU数, 然而一颗CP ...
把这个拿出来的目的, 是想得到更多的反馈意见, 请邮件至zhouchen.zm@taobao.com
历史
Hive 由 2009 年 3 月引入淘宝作为数据平台的海量数据分析基础框架, 引入的原因有如下
几点:
(1) 不是所有用户都懂计算机编程, 特别是 MapReduce 的分布式程序, 并且数据平
台的用户大多数会 SQL, Hive 则提供了由 SQL 解析成 MapReduce 作业的功能, 用
户只需要掌握 SQL 即可上手, 学习曲线较为平滑.
(2) Hive SQL 表意精简, 大幅度地减少开发量, 提高数据分析的生产效率. 例如,
之前统计网站 UV 的代码至少需 ...
这篇文章去年4月左右写的, 一直留在我的草稿箱, 一直没有写完
在分析HDFS的一致性之前, 我们先得解决HDFS客户端行为的几个问题。
1. 为什么HDFS不支持多个writer同时写一个文件,即不支持并发写?
首先谈一谈HDFS产生的历史。HDFS是根据Google的GFS论文所实现的, 初期时它的主要设计目标是为了存储MapReduce所操作的大型数据集。我们知道在Hadoop中, 每道Mapreduce作业的写操作一般发生在reduce阶段(如果是只含map的作业,则在map阶段)。一般情况下, 各个reducer的结果将分别写入一个HDFS文件当中。此处可能会产生一个疑问: 为什么 ...
很久没有发博客了, 最近这段时间工作上、生活上杂事比较多。最近经常有人问我在学校还是在公司。其实之前在学校读研, 入研之前工作过几年。那时候在学校研究MapReduce, 部署了10台的PC机做些Hadoop与机器学习的研究。08年末觉 ...
点击下载演讲稿
由中科院计算所主办的“Hadoop 中国2010云计算大会”于9月4日在北京召开。淘宝网作为国内最大的Hadoop应用商之一赞助与参与了这次会议。我有幸代表淘宝在大会上分享了淘宝在分布式数据处理实践的内容,下面是ppt的一个节选:
淘宝网目前有会员2亿左右,日均UV高达4000万,日交易量高达10亿元,每天产生大量的数据,所以部署了一系列不同规模的Hadoop集群。淘宝生产所使用的Hadoop集群为目前国内规模最大的Hadoop集群之一。在会议前一天,这个集群的规模是
1.总容量为9.3PB,利用率77.09%。
2.共有1100台机器。
3.每天处理约1800 ...
花了两个小时简单了做了一个ppt,给兄弟公司相关人员讲解offline分析(例如hadoop,hive, pig这种应用)与online(例如bigtable, hbase)在设计上的不同,希望能解开大家对两种不同应用在设计上的一些误区。
前些天受金山软件公司西山居朋友的邀请, 去了趟珠海与金山的朋友们分享Hadoop与数据分析的相关经验.
附件是此次分享的ppt, 里面有一些图是来自网上。
LineRecordReader.next(LongWritable key, Text value)
LineReader.readLine(Text str, int maxLineLength, int maxBytesToConsume)
DataInputStream.read(byte b[]) /* DFSDataInputStream继承此方法 */
DFSInputStream.read(long position, byte[] buffer, int offset, int length)
DFSInputStream. ...
MapReduce is a parallel computing model proposed by Google for large data sets, it’s proved to have high availability, good scalability and fault tolerance, and has been widely used in recent years. However, there is a voice from traditional database community, D. J. DeWitt et al argue that MapReduce ...
hdfs将在0.21版(尚未发布),把DFSOutputStream中的fsync操作(实际上是sync方法)更名为hflush, 因为之前的fsync做的工作实际上不是同步数据到磁盘,而是刷新(flush)缓存。fsync功能可能会在以后的版本中添加。
DFS对于未关闭文件的数据提供最大努力持久:
1. NameNode持久化文件元数据信息,但不持久化文件由哪些块组成的信息。重启NameNode可能会导致数据丢失。
2. DFS不保证各数据块的副本数和文件的复制因子一致。如果一个数据块没有一个有效副本被写入,则写失败。
DFS对于已关闭文件的数据提供强持久:
1. ...
先记一记,以后解释 :)
$hadoop jar tfile-0.00.1-dev.jar org.apache.hadoop.io.file.tfile.TestTFileSeqFileComparison -c gz -f seqfile -r /home/zhoumin/tmp -x rw -b 65536 -s 1024
=== SeqFile: Creation (KLEN: 50-100... VLEN: 100-200...MinBlkSize: 65536.00KB...Target Size: 1024.00MB...Compression: ...gz) === ...