又加了三台电脑的 nbench 测试成绩

这次把自己的笔记本和台式机,还有一台虚拟机服务器都跑了一下,得到了以下结果。

其中我的笔记本,Macbook Pro (2008 Early),内置了 Intel Core 2 Duo T8300 的处理器,得到测试冠军,工作站 HP XW4600 虽然使用的处理器是 2.5Ghz E7200 的,但是比起 2.4GHz 的 T8300,性能还是有一定差距的。所以不要迷信 Intel 处理器的主频,真的有差别。

跑自己的服务器纯粹是因为我的 Web server 在上面反应真的比较慢,所以跑了一下,那个 Xen 的版本比较老了,还是 3.0.x 的,新版本能够支持 Intel VT 和 AMD-V 技术,相信性能会好不少,因为是处理器直接支持虚拟化的,只是我手头暂时没有机器测试,RHEL 5.4 里将要内置的 KVM 也很值得期待。

Macbook Pro(T8300) Mac OS X 10.6.0 Beta1 20.190 37.898 22.963
HP XW4600(E7200) Fedora 11 17.013 36.669 16.797
RHEL in Xen(AMD 8356) RHEL 5.3 Running in Xen 11.694 14.412 9.201

详情请到 http://xuqingkuang.is-programmer.com/2006/10/10/nbench.6107.html 查看,测试的详细日志那里都有。

 

Posted by K*K Thu, 16 Jul 2009 20:32:26 +0800


在 Fedora 上安装并使用 Chromium

Chromium 官方只提供了 for 乌班兔的 deb 包,好在从 Solidot 上看到已经有好心人在 Fedora 上也编译了一份,经过试验运行起来没有问题,功能也已经比较完备了,可以满足最基本使用需求,速度却比 Firefox 要快了很多,基于对 Webkit 的好感,以后它就是我的主力浏览器了(这话前两天好像刚说过 :-p)。

Chromium running on Fedora 11

我也写了个的 repo 文件,以便于用 yum 升级,内容很简单,把下面内容以文件名 chromium.repo 存放到 /etc/yum.repos.d 里就好了:

[chromium]
name=Chromium build for Fedora $releasever - $basearch
baseurl=http://spot.fedorapeople.org/chromium/F$releasever/
enabled=1
gpgcheck=0 

如果想偷一把小懒的话,也可以去 http://www.box.net/shared/rbyeny0bge 里下载,并放到 /etc/yum.repos.d,不过 box.net 好像被墙了,可能需要翻墙。。。

然后在终端里运行 # yum install chromium,就可以了

Posted by K*K Mon, 29 Jun 2009 18:40:56 +0800


用 Synergy 共享两台电脑的键盘鼠标

情况:

因为公司另有一台性能很强劲的 Linux 工作站,自己有台 mac 笔记本,在两台电脑间来回切换让人很郁闷,所以就想让一套键盘鼠标在两个系统上都能使用上,把两台电脑当成一台电脑用。

之前用过 Synergy,所以又重新打起了它的主意,唯一和以前不同的是,现在我懒了很多,都不愿意用命令行来做这种配置工作了。。。 -_-#

安装:

Mac 从 http://sourceforge.net/projects/synergykm 上下载 SynergyKM,并且安装,会在 System Preferences 里增加 SynergyKM 一项。

Fedora 9 用 yum install quicksynergy synergy 来安装 Synergy 程序,然后会在 GNOME 菜单下的 internet 项下增加 QuickSynergy 一项。

配置:

我这里是把 Fedora 工作站当成服务器,共享它的键盘鼠标,而我的笔记本放在工作站的左边,所以在 QuickSynergy 的 Share 标签页左边写上 Macbook Pro 的主机名,然后点击 Execute。

如图:

Quick Synergy for Fedora

然后在 Mac OS X 的 System Preferences 里启动 SynergyKM,选择 Connect to shared keyboard and mouse,然后在 Client Configuration 里写上服务器的主机名或者 IP 地址,点上  Apply Now,然后再回到 General 标签页里,点击 Turn Synergy On,如果下面的 Status 显示了 Connected 则连接成功。

如图:

SynergyKM for Mac OS X

好了,现在可以试试把台式机的鼠标指针“跨过”屏幕左边,直接挪到左边的 Mac 上进行操作了。

不仅如此,Synergy 还能在两台电脑间共享剪贴板,真正是把两台电脑当成一台用。

不过好像有点 Bug,在 Fedora 机器上开着一个菜单的时候,鼠标是被局限在 Fedora 的机器上的。

Posted by K*K Wed, 19 Nov 2008 21:13:45 +0800


scribes 编辑器,不错,不错

自定义了很多 HTML 标签,总算用起来比较顺手了。

稍后把 javascript、python 和 css 的 templates 都完善一下,就发上来。

最好用这个地址看:

http://www.youtube.com/watch?v=0IbUjO3J64c&fmt=18

Posted by K*K Wed, 29 Oct 2008 22:17:00 +0800


用 Wine 将 Google Chrome 运行于 Linux 之上

如图:


运行平台是 Red Flag Desktop 6.0 SP1 Update。

环境是 wine 1.1.3 带 winetricks,安装后运行

$ winetricks riched20 riched30 flash allfonts

安装控件和 Flash 插件。

然后从网上下载 Google Chrome(从前一篇日志的地址),并安装,安装时需要 root 帐户(但不推荐用 root 帐户平时使用系统),可以用 sudo 切过去然后再改变文件的所有者和路径来改回普通用户。

安装后选择不要立刻启动 Chrome,否则会崩溃。

需要编辑一下桌面上的“谷歌浏览器.desktop”文件,把 Exec 那行末尾添上:
--new-http --in-process-plugins

例如:
Exec=env WINEPREFIX="/home/xqkuang/.wine" wine "C:\\windows\\profiles\\xqkuang\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe" --new-http --in-process-plugins

然后再把 Windows 中的 simsun.ttc 和 simhei.ttf 拷贝出来,放到 ~/
.wine/dosdevices/c:/windows/Fonts 路径下,这样就可以显示中文了。

然后点击桌面上图标就可以运行了。

不过目前仍然存在一些问题:

https 协议似乎无法访问,会导致一个“错误2(net::FAILD): 未知错误”。
标签页拖出来以后是一个黑块。

不过浏览普通网页够用了,所以可以先凑合用着。

主要参考了 LinuxTOY 这篇文章

Posted by K*K Fri, 05 Sep 2008 23:07:00 +0800


以普通用户编包

RPM:

## 建目录

$ cd ~
$ mkdir rpm
$ cd rpm
$ ls /usr/src/redflag/ | xargs mkdir -pv
mkdir: 已创建目录 “BUILD”
mkdir: 已创建目录 “RPMS”
mkdir: 已创建目录 “SOURCES”
mkdir: 已创建目录 “SPECS”
mkdir: 已创建目录 “SRPMS”
$ cd RPMS
$ ls /usr/src/redflag/RPMS | xargs mkdir -pv
mkdir: 已创建目录 “athlon”
mkdir: 已创建目录 “i386”
mkdir: 已创建目录 “i486”
mkdir: 已创建目录 “i586”
mkdir: 已创建目录 “i686”
mkdir: 已创建目录 “noarch”

## 写 rpmmacros 定义变量

echo "%_topdir $HOME/rpm" > ~/.rpmmacros

## 开始 rpm -ivh xxx.src.rpm 开始编包吧。

Portage:

写一个 Overlay ;-)

Posted by K*K Mon, 01 Sep 2008 19:18:00 +0800


Gentoo 和 Windows 时钟同步

Windows 时钟和 Linux 时钟其实都是分为了系统时钟和硬件时钟的,硬件时钟存储于 BIOS 内部,而系统时钟存储于内核里,这两者的区别是系统时钟往往具有时区功能,而这两种操作系统对于时钟的处理方式却是不一样的,Windows 的系统时钟与硬件时钟同步,而 Linux 系统中的硬件时钟往往是格林尼治时间(GMT),而系统时钟才是真正的本地时间。

这一区别导致了在双系统的电脑中,Windows 的时钟往往比 Linux 慢 8 个小时,如果 Linux 直接设置为本地时间(localtime),运行 date 命令时又会出现 Timezone should be set, see zic manual page 的提示,其实这是有办法解决的。

  • 第一种办法是使 Windows 使用 GMT 的硬件时钟,可以将下面内容另存为注册表文件(.reg)导入,或者直接在注册表编辑器(regedit)中修改:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
         "RealTimeIsUniversal"=dword:00000001
  • 第二种办法是将 Linux 使用与硬件时钟同步的系统时钟,同时设置好时区

    首先设置好本地时区

    # zic -l Asia/Shanghai

    其次设置 /etc/conf.d/hwclock(Gentoo 的 Baselayout 2 OpenRC 系统),修改其中的 clock 字段:

    clock="local"
    修改为
    clock="GMT" # 是的,没有看错,虽然注释称双系统时设置需要设置成 local,但实际上只有设置成 GMT 时 Linux 才能将硬件时钟作为系统时钟使用。

Posted by K*K Fri, 04 Jul 2008 21:55:00 +0800


Everes 0.5 for Loongson(beta1) 五一发布

做了半年了,总算出来了。

http://www.linux-ren.org

Posted by K*K Thu, 01 May 2008 06:53:00 +0800


Optimization DRI for double performance

X have some options for better work, most time X just use the universality options for run on most computer.
But you can tweak them. With the best result, you will get the double performance.

My system is Gentoo 2006.1 with X.org Server 1.1.1-r3 and xf86-video-ati 6.6.3 with DRI(Direct Render Interface), also I have the beryl 0.1.4 and AIXGL for the 3D desktop test.
Hardware is Powerbook pre-High definition, G4 1.67 and ATI 9700 with 128M.

Let's see the default Display adapter configuration.

Section "Device"
Identifier "Card0"
Driver "ati"
VendorName "ATI Technologies Inc"
BoardName "RV350 [Mobility Radeon 9600 M10]"
EndSection


The frames per seconds benchmark with glxgear looks like below.

2007-01-09-114743_663x354_scrot

Add some options in this device section for tweak.

Option "AGPMode" "4"
Option "UseFBDev" "false"
Option "AGPFastWrite" "true"
Option "EnablePageFlip" "true"
Option "DynamicClocks" "true"
Option "RenderAccel" "true"


Let's bechmark and see it again.

2007-01-09-114539_665x354_scrot

Wow. double performance !

How about these options works in the full hardware acceleration berly ?

2007-01-09-115107_669x363_scrot

Oh, it back to half and unstable. But I think it's the free ati driver's problem.
I feel Intel's GMA series open source driver is much better and stable than it, I will also test it if I have time.

OK, What's these options and value means ?

Option "AGPMode" "4"
AGPMode define the bandwidth of the AGP bus, the 4 means 4 times than the default AGP bus bandwidth, the defualt AGP running on 66Mhz with 266MB/s bandwidth, and Xorg will auto decide in 1X in default, you can tweak this option for more bandwith, the highest value of this option is 8 but it's need you conform your hardware support it.

Option "UseFBDev" "false"
It's a IMPORTANT option.
Most display adapter support and universal driver mode called framebuffer. It create a spool in memery and map it to the screen pixel, it's a FB device. Xorg write data into this spool, and the the driver read from this spool and write the data to the screen. it's not fully optimized.
ATI driver support a DMA(Direct Memery Access) mode, Xorg can write the data into the memory of the display adapter, it means Xorg can write to screen skip the memory spool of the FB device.

Option "AGPFastWrite" "true"
Fast write option looks like FBDev, I't also a memery access mode of display adapter.
It's skip memory access and write data to display adapter directly.

Option "EnablePageFlip" "true"
Enable Page Flip will increases performance, it tweak the memory access mode.
This option will be disabled if EAX architecture is in used.

Option "DynamicClocks" "true"
DynamicClock is "Intel SpeedStep" technology for display chips. it adjust the performance of display adapter only for save energy.

Option "RenderAccel" "true"
RenderAccel looks like it name, enable it for Render Acceleration Mode.
This option is default enabled.

Other options will increases performance more, I will do more around it and blog it more.

Posted by K*K Wed, 10 Jan 2007 03:57:00 +0800


COCOTRON

Cocotron 是由 Christopher Lloyd 编写的一套,相当于 Mac OS X AppKit 和 Foundation 在其它平台上的实现,通过它使用 Objective C 编译器将能够同时在 Mac OS X/Windows/Linux 上运行。

想法很好,但是问题是,Mac OS X 的菜单位于屏幕顶端,其它平台的菜单一般在窗口的标题栏下。

我还没试,先不乱猜测。

Right here: http://www.cocotron.org
Cocotron

Posted by K*K Wed, 27 Dec 2006 18:15:00 +0800


Native GTK running on Mac OS X


Native GTK running on Mac OS X, originally uploaded by K*K.

Successful running GTK 2.11 2006/12/21 cvs version on Mac OS X, no X11, no more requirements!
Plan:
1. Try to rebuild GTK with nquartz(Quartz Native) target, hope that GTK widget will looks like Aqua Widgets.
2. Merge Mac OS X like top menu patch in this version of GTK .

I recommend you to build it with a script gtk-osx-build.sh, you can download it from: http://www.box.net/public/db9dx205gq.

Want to learn how to port GTK to Mac OS X, you can download Porting-Gtk-MacOSX.pdf guide by Anders Carlsson from my box Documents folder.

Posted by K*K Sat, 23 Dec 2006 03:01:00 +0800


利用 tc 控制出口流量。

tc 是 iproute2 中带的命令,用于控制 Linux 的网络传输流量限制。

这感觉是比 iptables 还麻烦的东西,因为公司拿了台机器在内网做下载,为了不影响普通员工上网,所以才有了这么一想法控制一把在网络中的下载。

整个公司都没人懂这玩意儿,只好自己摸索着了。 -_-#

tc 里利用 Linux 中的 QoS(Quality of service)对包进行调度,所以需要确保在内核中将 QoS 下的 Class Based Queueing (CBQ)、Token Bucket Flow、Traffic Shapers 设置为 y 或者 M。

tc 最少得有 3 条句才能达到控制流量的目的:创建队列 -> 创建子分类 -> 创建过滤器,而且还要和ip命令结果起来控制流入的接口才可以达到限制的。

理解不深,试验没有做完,以后再补充 -_-#

Posted by K*K Sun, 15 Oct 2006 13:17:00 +0800


Kernel 2.6.17 和 2.6.18 在 SATA 硬盘上的性能对比

在最新的 Linux kernel 2.6.18 changlog 中,我们可以看到大量关于 SATA 的修正和增强,那么新内核在 SATA 硬盘的传输率方面是否真的有所提高呢?这个只有测试一下才能知道。

测试平台是 DELL M1210 的小笔记本,内存 1G,硬盘是 Toshiba 2.5", 40GB, SATA, 16MB, 5400转, 9.5mm,型号为 MK4032GS 的笔记本硬盘。 -_-#

结果是:

Everest 0.2 update 1 的 2.6.17.13-36smp 的内核:

# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 4712 MB in 2.00 seconds = 2359.41 MB/sec
Timing buffered disk reads: 96 MB in 3.05 seconds = 31.43 MB/sec

Everest 0.2 自己编译的 2.6.18smp 内核

# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 4788 MB in 2.00 seconds = 2395.98 MB/sec
Timing buffered disk reads: 96 MB in 3.03 seconds = 31.68 MB/sec

这是在接上 AC 电源,重复运行三次 hdparm,让硬盘能够全速转起来得到的结果,可以看到 2.6.18 内核确实对 SATA 性能有一定提高,但是效果不明显,硬盘物理速度依然是瓶颈。

找空拿个台式机来做测试,可能拿 iozone 跑一把。

另一件有趣的事情,双核的机器在运行多线程任务,满负载的时候,两个核的占用率相加接近 100%,如果用 yes 大法跑单线程的满负载,可以看见 CPU1 为 100%,同时运行两个 yes 尚未测试。

找空做进一步测试。

Cpu0 : 76.1% us, 2.7% sy, 0.0% ni, 16.6% id, 0.0% wa, 4.7% hi, 0.0% si
Cpu1 : 13.0% us, 1.7% sy, 0.0% ni, 79.7% id, 5.0% wa, 0.0% hi, 0.7% si

Cpu0 : 47.8% us, 2.0% sy, 0.0% ni, 49.2% id, 1.0% wa, 0.0% hi, 0.0% si
Cpu1 : 48.0% us, 2.0% sy, 0.0% ni, 46.3% id, 3.7% wa, 0.0% hi, 0.0% si

补充测试,同时运行两个 yes,基本到了 200% 了 :-)

Cpu0 : 82.0% us, 18.0% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu1 : 88.2% us, 9.8% sy, 0.0% ni, 2.0% id, 0.0% wa, 0.0% hi, 0.0% si

Posted by K*K Thu, 12 Oct 2006 15:55:00 +0800


Brian Behlendorf 造访 CSIP

抱歉这是份起草时间太长的 blog,这篇本该8月23日就发出的 blog 一直拖到今天。

Brain header

Brian Behlendorf 于8月23日下午 2:30 造访了位于羊坊店路5号博望园10号信息产业部软件与集成电路促进中心(CSIP)。
我有幸参加并将会议记录了下来。

Brian Behlendorf 回答了很多关于自由软件、关于社区、关于 Apache 的问题,都非常有意思,比如作为一名社区的管理者如何管理社区,以及如何选择一个合适的 Licences 来平衡社区的力量 - Licences 给予用户的越多,社区将做得越大。

Brian Behlendorf 还回答了为什么自由软件以及社区在亚洲地区没有欧美发达。

大致是:
一、首先是语言障碍,
二、文化-西方文化更偏向于为追求真理而争斗
三、学生的自由时间很多
四、史前时代的计算机更加接近机器的本质,能够接触到更加底层的东西。

相关链接:
http://oss.org.cn/modules/news/article.php?storyid=657
http://forum.oss.org.cn/viewtopic.php?t=3491

brain_thumb.png

会议录音位于:
ftp://www.linux-ren.org/pub/kk/resources/csipevent/Tue-Aug-22-2006-BrianBehlendorf-CSIP.amr

Technorati Tags: , , ,

Posted by K*K Sat, 29 Jul 2006 05:15:00 +0800


Bryan O'Bryan 转投 Linux 阵营。

Bryan O'Bryan 是一名资深的苹果平台软件开发者和著名苹果主题论坛ResExcellence.com的管理者,公开投向Linux。他是继Cory Doctorow,Mark Pilgrim ,Thom Holwerda之后又一个离开苹果Mac OSX。

有篇他的公告译文:http://www.pkblogs.com/zhcn/2006/07/translationbryan-obryan-why-i-ditched.html

我也是一个从 Mac 投奔到 Linux 人,我有一台 PowerBook 17",上面运行着 PPC 版本的 Gentoo,在经过了长期使用之后,觉得自由软件更适合自己。

Bryan 之所以投奔到 Linux 社区,是因为 Mac 社区内人的高傲与刻薄,最近 Linux 公社上似乎又有相关争论,与之相对应的,Linux 社区氛围明显好了很多。

国内社区又与国外有所不同,更多人认为自己是一名用户,而不是一名受益者,此区别在于受益对象,用户付费给软件作者,作者受益,而自由软件作者无私的将自己的作品贡献出来,依然会受到诸多指责。自命不凡的人指责苹果软件不好我能理解,他们为此付费了,但在 PC 上跑着盗版 Windows 和 Linux 的用户认为自己不同凡响就有点难以理解了。

Linux 社区的概念是:有需求?自己动手。

一点牢骚,建议大家在逛国内 Linux 论坛的同时,也一并逛逛国外的论坛,邮件列表,对培养性情还是有一定好处的。

不过说真的,Mac 社区内自命不凡的人和 Linux 社区内把自己当用户的人,总体数量应该是差不多的。

不管哪个社区,真正有水平的人都不会陷入那样的怪圈。

Posted by K*K Sat, 29 Jul 2006 05:15:00 +0800


vim 7.0 release one week ago

Actually I had build it the day after release in my mac.

This version have three new features important for me:

  • Tab support
  • Online English syntax check
  • Automatic completion for development


Here's my vim resource profile, modified based others, just unpack it and place it to $HOME.
http://www.kuangxuqing.com/wp-content/uploads/vimrc.gz

Tab support
To create a new tab just input:
: tabe
or press CTRL-N with my vim resource profile.

it will be looks like this:
New vim tab.

If you want to switch tabs, just input:
: tabn
or tabp
You also can press CTRL-/ for next tab.

Close tab just enter:
: close
or CTRL-D.

If you want to close all the tabs, or quit vim directly, just enter:
:qa (enter for Quit All)

Online English syntax check
In previous version, you also can check your spell with aspell or other programs, or other vim plugins.
But the intergration spell check is first built-in in this version.

To enable spell check. just enter:
: setlocal spell spelllang=en

You will see like below, the wrong words will be highlight by red color.

Vim spell check

If also can select other languages if your vim release words database, you can check it in /usr/share/vim/vim70/spell/ directory.

Automatic completion for development
With this feature, vim goes to be a project center from a normal editor.
In the vim announce, professed to it support C, HTML, Ruby, Python, PHP and the others ready.

I had just only tested C.

vim 7 function complete

To use syntax completion, just press CTRL-X, vim will print:
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)

In this mode, these key means:
^]: Tag completion
^D: Definition completion
^F: File name completion
^I: Path pattern completion
^K: Dictionary pattern completion
^L: Whole line completion
^N: Keyword Local completion
^O: Omni completion
^V: Command-line completion

Other information about new vim, please check vim web site:
www.vim.org

Posted by K*K Tue, 16 May 2006 13:28:00 +0800