11. 26.

昨天生病,身体虚弱。

今天凌晨鬼压身,本来也没什么,我可以看到房间内的一切,也知道自己睡觉的姿势有问题。

不过我当我看自己的手的时候,吓了一跳,我发现手变成了婴儿的脚……

遂闭上眼睛,对着虚空大喊一声:F-U-C-K Y-O-U!

没多会,转而醒来。


07. 23.

其实就是因为一次本机启动apache的时候,无论如何也启动不了,实际上是我忘记了N久之前开启过一次IIS,shit!因为我从来没把问题往这里考虑,思维固化的恶果啊……

找到到使用80端口进程的PID

C:\> netstat -ano|findstr "80"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2328

然后找进程名了

C:\> tasklist|findstr "2328"
httpd.exe 2328 Console 0 23,956 K

那么可以确定httpd.exe在使用80端口了,可以放心结束进程或者关闭相关程序或者服务什么的了~~

其他端口一样的方式去查找。


06. 11.

昨天在一台比较老的机器上安装freebsd 8,结果分区完毕之后,在Commit步骤地时候,提示:
“Unable to find device node for /dev/ad4s1b in /dev!
The creation of filesystems will be aborted.”

看样子是硬盘的一些问题,我手头也没可用的额外的硬盘来测试,在google查阅了大量资料,众说纷纭吧,有说的DMA模式的问题,有说因为分区的时候不应该使用“W”,搞到凌晨 2点多,最后发现了这篇:http://www.pubbs.net/201002/freebsd/3072-80-install-fails-to-create-filesystem-quotunable-to-find-devicenodequot.html
阅读全文 »


04. 14.

今天给php增加apd(Advanced PHP debugger)的扩展,发现如下错误:

/usr/local/src/apd-1.0.1/php_apd.c:967: error: 'struct _zend_compiler_globals' has no member named 'extended_info'

后google到:http://lists.freebsd.org/pipermail/freebsd-ports/2010-April/060557.html
前因后果不再阐述,见下文:

2) error: 'struct _zend_compiler_globals' has no member named
'extended_info'

The member has been renamed to 'compiler_options' to hold additional
variables. So, for example, if the code looks like:

CG(extended_info) = 1;

you can modify it in this way:

CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

编辑967行修改之:
vi /usr/local/src/apd-1.0.1/php_apd.c +967
把CG(extended_info) = 1;
修改为:
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

重新make,make install,最后zend_extension = /path最好绝对路径/apd.so 搞定,好运!


04. 4.

摘自《水指甲诗集》

在一口漆黑的深井里

我遭遇了一个写诗的人

他的声音是光

他用一个逗号勾破我的皮肤

又用句号为我止血

他的叹息是诗行

我恐惧地退让

贴着井壁摸索出口的方向

却发现

原来每一块砖都是一个字

原来是我

掉进了写诗的人

的诗


04. 4.

之前由于精简系统的服务而没有开启irqbalance服务,但是irqbalance现在被证实为非常有必要的服务,他的主要功能是可以合理的调配使用各个CPU核心,特别是对于目前主流多核心的CPU,简单的说就是能够把压力均匀的分配到各个CPU核心上,对提升性能有很大的帮助,我引用一段话:

启用 irqbalance 服务,既可以提升性能,又可以降低能耗。irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于 Performance mode 或 Power-save mode。处于 Performance mode 时,irqbalance 会将中断尽可能均匀地分发给各个 CPU core,以充分利用 CPU 多核,提升性能。处于 Power-save mode 时,irqbalance 会将中断集中分配给第一个 CPU,以保证其它空闲 CPU 的睡眠时间,降低能耗。(详见:http://www.irqbalance.org/documentation.php)

开启irqbalance服务,具体操作如下:
shell> chkconfig --level 2345 irqbalance on
shell> service irqbalance start

如果没有此服务,请先安装依赖软件包,操作如下:
shell> yum -y install irqbalance
shell> service irqbalance start

可以使用shell>mpstat -P ALL 1 10来观察前后的实际的CPU使用运行情况。


03. 19.

摘自《水指甲诗集》

我要你微带稚嫩的媚惑,调皮的刻薄
要你迷惑的表情,嚣张的任性
我要你无所顾忌的大笑,不发一语的安静
我要你丝绸般的肌肤
我要你活色生香的青春
在那之前 禁止成熟

03. 19.

转载于:http://blog.chinaunix.net/u3/93613/showart_1907687.html

进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事的两个概念。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。

处理器总处于以下三种状态之一:
1、内核态,运行于进程上下文,内核代表进程运行于内核空间;
2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;
3、用户态,运行于用户空间。

用户空间的应用程序,通过系统调用,进入内核空间。这个时候用户空间的进程要传递很多变量、参数的值给内核,内核态运行的时候也要保存用户进程的一些寄存 器值、变量等。所谓的“进程上下文”,可以看作是用户进程传递给内核的这些参数以及内核要保存的那一整套的变量和寄存器值和当时的环境等。
阅读全文 »


03. 16.

摘自《水指甲诗集》

一池心事
朵朵绽放如莲
被无心划过的浆
温柔拨散


03. 16.

上次遇到了"sshd_config" E212: Can't open file for writing,所以找到下 面这篇讨论: http://www.linuxquestions.org/questions/linux-server-73/cannot-edit-sshdconfig-as-root-510959/

进一步理解chattr和lsattr:
转载自:http://chinarhcx.blog.51cto.com/194419/157054

chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多
功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令
修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var
目录。 lsattr比较简单,只是显示文件的属性
[root]#lsattr
----ia---j--- ./lsattr_test

这两个命令是用来改变文件、目录属性的,和chmod,ls这些命令相比,chmod只是改变文件的读写、执行权限,
更底层的属性控制是由chattr来改变的。
chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files...
最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的
属性。

阅读全文 »