灵感的来临,没有任何预兆;灵感的消失,也不会有告别仪式;用文字记下她们吧,让灵感永存……

GNU 工具集的 Win32 版本

在*nix(Linux、Unix或者类似系统)下学习或者工作的人,一定会对里面的小工具印象深刻,比如grep、wc、less等等,现在找到了它们在Win32平台上的移植版本(win23 port):GNU utilities for Win32,里面汇集了几十个强大而且好用的工具。它们都是Native的,只需要微软的 C 运行环境,不需要额外的运行环境(比如Cygwin)。

使用时,只需要将它们解压缩到某个目录,然后环境变量PATH中加上该目录即可。本地提供下载:UnixUtils.zip

davies 发表于 2005 年 12 月 23 日 | 0 条留言

升级 apache

今天升级了portage信息,顺便也升级了一些软件,比如apache,想不到它居然给我带来了麻烦。

这次升级是从2.0.54-r8 到2.0.54-r31,ChangLog我没看,也不知道有哪些更新。让我讨厌的变化就是配置文件的位置改了,害我折腾了好久,web服务瘫痪了一个多小时。

原 先的apache配置文件都在/etc/apache2/conf下,这次居然放到/etc/apache2下了,还改了名字,为httpd.conf。 默认的配置文件是Gentoo提供的,并不适合我的应用。最后把原先的配置文件从目录/etc/apache2/conf拷贝到/etc/apache2 搞定。此外,还有一点需要注意,建议将vhosts.d目录下的00_default_vhost.conf移走,否则会有问题。将 apache2.conf改名为httpd.conf后,要将其中引用虚拟主机配置文件的地方改一下,将vhosts改为vhosts.d。

以后不能再紧要关头瞎折腾了,明天还有老乡会,得早期,升级apache害我折腾到现在,还好已经搞定了,否则没法交待呀。做管理员还是挺有压力的,呵呵

davies 发表于 2005 年 09 月 24 日 | 0 条留言

Linux Shell 下的输出重定向

Linux Shell 环境中支持输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。

同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。

Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静悄悄:-)

davies 发表于 2005 年 08 月 31 日 | 4 条留言

Apache 2.0 MPM 配置

在安装 apache 时,有一个 USE 选项是 threads,它表示对 apache 启用线程支持,能够改善性能。

这篇文章对它做了详尽的描叙:Apache 2.0性能优化—MPM的选择与配置

在 apache2 启用线程支持后,默认使用的是 worker,运行 apache2 -l 输出如下:
Compiled in modules:
  core.c
  worker.c
  http_core.c
  mod_so.c

由于我的服务器访问量并不大,MPM 参数设置如下:

<IfModule worker.c>
StartServers         2
MaxClients           50
MinSpareThreads      25
MaxSpareThreads      50
ThreadsPerChild      25
MaxRequestsPerChild  0
</IfModule>

davies 发表于 2005 年 06 月 14 日 | 1 条留言

soya 高负荷测试

一大早醒来,窗外不时传来麻雀叽叽喳喳的叫声,预示着新的一天的开始。最近已经习惯早起了,似乎没那天能睡过 8 点。

soya ——就是那台破服务器——开始在嗡嗡叫了,我设定了 7:00 启动开机。在清晨的宿舍,这声音显得非常突兀,让人觉得烦燥。rogerz 开始抗议了,建议 8 点才开机,那时也盖起来了。

下床后打开 soya 的机箱盖,侧耳听听,主要的噪声来源就是CPU风扇,一时想不出什么好办法,就把风扇电源给断了。原来也有过不用风扇的经历,那时是赛扬 800,发热很低。这也是赛扬家族的小弟,应该也有着这一传统吧,说不定不用风扇也成。风扇已经停了一会,可 Gentoo 并没有挂的迹象。

为了给它加大点负荷,一边 emerge sync,一边用浏览器打开 blog 页面,且不停地刷新。正在运行的 apache 是有线程支持的,一会就蹦出了十几个 apache 线程,内存消耗达150多M。而 soya 的物理内存只有 64M,在大量地使用虚拟内存。系统负荷变得异常高,曾经一度达到 58,平常都是 1 左右,想象真实恐怖。不过系统还没死,只是响应变得很慢了,blog 页面根本刷不出来。

看来内存少比CPU慢更严重,得想办法搞来一条内存。实验室有一些升级换下来的配件,可以暂时借来用以下。后来找到了一根 64M SDR内存,中午回来赶紧给它装上,跑得还挺欢,呵呵

后来又用做了 apache 的高负荷测试,结果同前面差不多,会迅速消耗掉所有物理内存,并大量使用虚拟内存,疯狂折腾硬盘,系统几乎失去响应。看来 apache 的 threads 特性在这台破机器上不但没有什么益处,反而容易造成系统失去响应。

apache 应该可以限制连结数,进而控制线程数。在文件 /etc/apache2/conf/apache2.conf 中有相应的配置选项。我都将它们大大减少了。

再做前面一样的负荷测试,即不断的用 IE 刷新页面,虽然得等一回才能有响应,但是服务器端已经不再有耗光物理内存的险象,过一会就能有结果返回 IE。

在一般情况下,系统之消耗了30-40M内存,同时会有一些cache,虚拟内存的使用在 10M 以下。

davies 发表于 2005 年 04 月 27 日 | 0 条留言

上一页 | 第 2 / 4 页 | 下一页