cpu MHz : 2000.336
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm ts fid vid ttp tm stc
bogomips : 4002.57
上面的信息显示了这是一颗AMD Athlon 64 3200+的CPU。
CPU优化参数可以从下面地址获得(有些cpu family和model没有,可以用相同型号的代替)
http://gentoo-wiki.com/Safe_Cflags
3.编译Squid的前期准备
我们需要先了解一个叫做“文件描述符”的东西。我们知道,人能同时干的事情是有限的。文件描述符就是一个限制最大上限的东西。文件描述符用来限制一个程序能同时打开的文件数目,默认是1024。也就是说,如果不修改文件描述符,那么一个程序只能同时打开1024个文件。1024这个数字,一般程序已经够用了,但Squid不行。Squid会同时打开成千上万个文件,以保证最高的效率和响应速度。
想象一下下面两种情况:a.用户每次访问squid,squid会按照需要打开文件,然后读取文件内容再返回给用户。b.squid预先打开访问频率高的文件,用户访问squid,squid直接把内容返回给用户。相对来说,后面的方法可以对用户的请求进行更加快的反应。
要更改文件描述符的大小,必须要修改两个文件。
/usr/include/bits/typesizes.h
/usr/include/linux/posix_types.h
用vi打开上面的文件(如果忘记如何使用,请参考前面章节),查找
#define __FD_SETSIZE 1024
把1024改为65536,然后保存。
为什么是65536,不是更加大?因为这是Linux能接受的最大数值。
刚才编辑的这两个文件是C/C++程序里面的头文件,编译squid的时候会被自动引用。除了这两个文件以外,我们还需要对当前环境进行设置。
环境,也就是你用ssh登录到系统时的一些设定。每个登录进程都可以进行单独的设置,在没有把设置写入环境配置文件(.profile,.bash_rc)的情况下,关闭登录进程后环境设置会丢失。
举个例子,你使用pietty开了两个窗口,使用同一个帐号密码,同时登录到同一台服务器上面,然后在其中一个登录进程中使用export命令,那么只会在这个登录进程中生效,对另外一个登录进程不起作用。








