最新 | 最热门 | 最高评价

+1  CLSF 2012讨论会纪要(一)

Tag: 操作系统 | btrfs | clsf | ext4 | fusionio | xfs
DongHao 发于 2012年10月18日 11:12 | 点击: 1693 | 展开摘要
10月11日到12日两天在EMC北京办公室参加了CLSF 2012 讨论会。简要记录之,难免碎片,如有错误,欢迎拍砖。

第一天首先是南大富士通的缪勰介绍btrfs这一年的新进展。
btrfs已经具有了在线修改RAID的stripper大小、自动修复RAID1的坏盘等功能,且将meta block的size变为可调(上限64K),这样btree就矮了很多(因为node大了),在删除大文件时seek过程变少了,删除速度更快。
ext4如果发现io error会将文件系统置为re

查看全文: http://www.udpwork.com/item/8408.html

+0  CLSF 2012讨论会纪要(二)

Tag: 操作系统 | clsf | ext4 | kvm | raid | ssd | virtio
DongHao 发于 2012年10月18日 11:07 | 点击: 2892 | 展开摘要
第二天,来自淘宝的刘峥介绍一年来ext4文件系统的开发进展。
ext4的bigalloc,增大分配单位,减少元数据,加快硬盘检查和创建大文件的速度。meta data checksum,让文件系统的错误更早更快的暴露出来,有利于数据安全和文件系统本身的稳定,但是打开checksum会造成大约20%的性能损失,这个就看用户的选择了。inline data,将小文件或目录(小于4K)的数据放入inode之中,根据统计,ext4上大约70%的目录都在100字节以内,所以这个特性对小

查看全文: http://www.udpwork.com/item/8409.html

+0  hadoop集群上捉到linux kernel bug一个 (答读者提问)

Tag: 操作系统 | kernel | lru | page | pagevec
DongHao 发于 2012年09月01日 09:39 | 点击: 1233 | 展开摘要
首先感谢大家对原文的关注,能和大家一起交流内核技术我非常的荣幸,这里试着回答大家的提问。

超然台上仙:有点不太理解请教一下, “看,这样写完一个文件后,每个page都被makr_page_accessed了两次,也就是说都成了AC TIVE。在2.6.18 kernel里,确实是这样;” 这说明这些page应该是active的,可是后面的修改, “fix这个问题的方案非常简单,就是不要让第14个page有特权,而是让它在被mark_page_a ccessed之前就一直呆在

查看全文: http://www.udpwork.com/item/8035.html

+0  hadoop集群上捉到linux kernel bug一个

Tag: 操作系统 | hadoop | kernel | lru | pagevec | terasort
DongHao 发于 2012年08月30日 16:29 | 点击: 1531 | 展开摘要
(谨以此文感谢淘宝hadoop运维团队柯旻、刘毅、沈洪等同学对我的帮助和支持)

5月份和公司的hadoop团队一起研究在hadoop集群上的linux kernel优化,主要起因是hadoop集群测试发现rhel6的2.6.32内核跑hadoop应用比rhel5的2.6.18慢,测试方法是跑terasort。

通过blktrace查看2.6.32内核的io情况,发现一个奇怪的现象:明明系统的readahead大小设的是1MB,但是对hadoop中间文件file.out的每

查看全文: http://www.udpwork.com/item/8030.html

+4  [分享]古老的操作系统 - DOS3.31

Tag: 操作系统
Felix021 发于 2012年08月08日 20:34 | 点击: 1687 | 展开摘要
这是第一个支持IBM PS/2和1.44MB 3.5寸软盘的DOS版本,可能是在家用PC上比较容易用虚拟机模拟的最古老的微软系操作系统。隐约记得这里头还有个BASICA解释器,比QBASIC还要老很多的那种,类似于文曲星上面的那个版本。
点击这里下载文件
以前(大一之前)很喜欢玩这些东西,收集了不少东西,包括3.31, 6.22, win98/me/xp的DOS启动盘, windows 1.0 ~ 3.2(主要来自曾经的“bear5的软件地摊”),还有很多dos下的工具,tw

查看全文: http://www.udpwork.com/item/7905.html

+0  一个fork的面试题

Tag: C/C++语言 | Unix/Linux | 操作系统 | 编程语言 | 趣味问题 | C++ | fork | Puzzle | Unix | 面试
陈皓 发于 2012年08月01日 08:20 | 点击: 1968 | 展开摘要
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:

题目:请问下面的程序一共输出多少个“-”?

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(void)
{
int i;
for(i=0; i<2; i++

查看全文: http://www.udpwork.com/item/7851.html

+0  性能调优攻略

Tag: Unix/Linux | Windows | 操作系统 | 数据库 | 程序设计 | 系统架构 | Linux | MySQL | Performance | SQL | TCP
陈皓 发于 2012年06月20日 09:24 | 点击: 2723 | 展开摘要
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。

在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈! 但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因为没有这两

查看全文: http://www.udpwork.com/item/7510.html

+0  基于overlayfs的硬盘资源隔离工具troot

Tag: 操作系统 | kernel | overlayfs | troot
DongHao 发于 2012年06月18日 16:00 | 点击: 1572 | 展开摘要
某些开发测试团队会有这样的需求:多个开发或测试人员在一台物理机上搭环境、装rpm包、测试等,目录很可能互相干扰。避免干扰的最直接办法当然是装虚拟机,但是如果仅仅只是想把根目录隔离一下,而不需要隔离CPU和内存,那么虚拟机方案偏重了些。
所以,我们做了一个叫troot的小工具,每个人都可以自己创建一个虚根目录,然后进入这个虚根目录工作,工作起来感觉就像一个全新的跟别人互不干扰的新根目录一样。

不过这个troot的主要实现是靠overlayfs,也就是说,必须用淘宝linux-

查看全文: http://www.udpwork.com/item/7496.html

+0  ext4 bigalloc 性能测试报告

Tag: 操作系统 | bigalloc | ext4
DongHao 发于 2012年06月11日 17:45 | 点击: 2071 | 展开摘要
经过几个月的线上测试,ext4 bigalloc的测试报告终于出炉,我发复取了n多次的数据(这些去数据的过程最后都被我磨成bash脚本了),感谢刘亮同学和桑彦斌同学对CDN上线的支持,感谢柯旻同学和刘毅同学对hadoop线上的支持,还要感谢coly一遍又一遍的reivew报告和逼着我一遍又一遍的采集线上数据并作图(此公开版拿掉了图)。

测试报告(由于是从word文档改的,字体较小,可能需要全屏;部分内容由于公司政策不予显示,此保密政策是“量子时代”要求的,大家勿直接喷我):

查看全文: http://www.udpwork.com/item/7466.html

+0  hadoop与午睡

Tag: 操作系统 | cdh | hadoop | kernel | pagevec
DongHao 发于 2012年06月11日 15:20 | 点击: 1389 | 展开摘要
这一阵子在折腾hadoop集群上linux kernel的优化,开始没机器,只好悲惨的用虚拟机来装,但是kvm虚拟机又不给力,虚拟机之间死活连不上,最后终于等到柯旻同学婚假归来,支援了我几台线下测试机,刘毅同学帮我搭了环境,终于可以见到活生生的hadoop运行状态。

接下来是两周的运行观察和调试。

目前为止最大的进展是揪出一个2.6.32(upstream也有)的一个pagevec引发的性能退化,见patch。

然后,考虑到hadoop里,源数据一般只读一次,目标结果也

查看全文: http://www.udpwork.com/item/7465.html

+0  netoops启动时报 "XX is a slave device, aborting"

Tag: 操作系统 | kernel | netoops | netpoll | redhat
DongHao 发于 2012年06月07日 11:34 | 点击: 1499 | 展开摘要
为了监控上线的新内核,我们把google的netoops backport到了自己的内核,生产上如有kernel panic,会将panic的栈信息发送到日志服务器,方便调试和修复。

前天,洪川同学报告说以前线上的netoops都是把bond的slave网口作为发消息的dev,新上线2.6.32-220内核后,启动netoops失败,系统报:

”eth0 is a slave device, aborting."

找了一下从 2.6.32-131 到 2.6.32-22

查看全文: http://www.udpwork.com/item/7431.html

-1  [kernel] exit_mmap BUG_ON()

Tag: 操作系统 | bug_on | exit_mmap | kernel | redhat
DongHao 发于 2012年06月06日 16:48 | 点击: 2058 | 展开摘要
上个月,生产服务器上报来了内核bug:

 ------------[ cut here ]------------
 kernel BUG at mm/mmap.c:2352!
 invalid opcode: 0000 [#1] SMP
 last sysfs file: /sys/devices/system/cpu/cpu23/cache/index2/shared_cpu_map
 CPU 13
 ....

查看全文: http://www.udpwork.com/item/7428.html
|<<<2345678>>>| 一共10页, 110条记录