7.2. 卸载与优化

  1. 我们必须将内核的归档文件复制到/usr/src目录,并移动到该目录。
                   [root@deep] /#cp linux-version_tar.gz /usr/src/
                   [root@deep] /#cd /usr/src/
                   
    只有在您之前使用 tar 归档文件安装过 Linux 内核的情况下,才需要执行这些步骤。如果是首次全新安装 Linux 内核,则请卸载系统上的 kernel-headers-version.i386.rpm 和 kernel-version.i386.rpm 软件包。使用以下命令删除 Linux 符号链接
                   [root@deep ] /src#rm -rf linux
                   
    使用以下命令删除 Linux 内核头文件目录
                   [root@deep ] /src#rm -rf linux-2.2.xx
                   
    使用以下命令删除 Linux 内核模块目录
                   [root@deep ] /src#rm -rf /lib/modules/2.2.xx
                   

    重要: 只有在您之前安装过模块化内核版本的情况下,才需要删除旧的内核模块。如果/lib目录下不存在模块目录,那是因为您的旧内核版本不是模块化内核。

    如果您的系统上安装的是原始内核 RPM 软件包,而不是 Linux 内核 tar 归档文件(因为您刚刚完成新 Linux 系统的安装,或者之前使用过 RPM 软件包升级 Linux 系统),则请使用以下命令卸载 Linux 内核:您可以使用以下命令验证内核 RPM 软件包是否已安装在您的系统上
                   [root@deep ] /src#rpm -qa |grep kernel
                   

    kernel-headers-2.2.xx.i386.rpm kernel-2.2.xx.i386.rpm
                   

    要卸载 Linux 内核 RPM,请使用以下命令
                   [root@deep ] /src#rpm -e --nodeps kernel-headers kernel
                   


                   无法删除 /usr/src/linux-2.2.xx - 目录非空 无法删除 /lib/modules/2.2.xx - 目录非空
                   

                   [root@deep ] /src#rm -rf /usr/src/linux-2.2.xx/
                   [root@deep ] /src#rm -rf /lib/modules/2.2.xx/
                   
    在以下步骤中,我们在内核 RPM 卸载后手动删除空的/usr/src/linux-2.2.xx/lib/modules/2.2.xx目录,RPM 卸载程序不会完全删除这些目录。

  2. 现在,我们必须解压缩内核的 tar 归档文件,并从系统中删除 Linux tar 归档文件。
                   [root@deep ] /src#tar xzpf linux-version_tar.gz
                   [root@deep ] /src#rm -f  linux-version_tar.gz
                   

  3. 要增加允许的任务数,即每个用户的最大进程数,您可能需要编辑/usr/src/linux/include/linux/tasks.h文件并更改以下参数。编辑 tasks.h 文件,vi +14/usr/src/linux/include/linux/tasks.h并更改以下参数NR_TASKS5123072MIN_TASKS_LEFT_FOR_ROOT424

    重要: NR_TASKS行中的值表示 Linux 内核将为每个用户分配的最大任务(进程)句柄数。增加此数字将允许您处理来自客户端的更多连接,例如:HTTP Web 服务器将能够服务更多客户端连接。请不要忘记,Linux 受到保护,不会为普通用户分配所有进程槽。有一个特殊的参数行MIN_TASKS_LEFT_FOR_ROOT专门为超级用户 root 保留,您可以设置保留给 root 的进程数-24是一个好的值。

  4. 要优化 Linux 内核以适应您的特定 CPU 架构和优化标志,您可能需要编辑/usr/src/linux/Makefile文件并更改以下参数。

    1. 编辑 Makefile 文件(vi +18 /usr/src/linux/Makefile)并更改行HOSTCC =gcc改为
                     HOSTCC =egcs.
                     

    2. 编辑 Makefile 文件,vi +25/usr/src/linux/Makefile并更改行CC =$(CROSS_COMPILE)gcc D__KERNEL__ -I$(HPATH)改为
                     CC =$(CROSS_COMPILE)egcs D__KERNEL__ -I$(HPATH).
                     

    3. 编辑 Makefile 文件 vi +90/usr/src/linux/Makefile并更改行CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer改为
                     CFLAGS = -Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions
                     

    4. 编辑 Makefile 文件 vi +19/usr/src/linux/Makefile并更改行HOSTCFLAGS =-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer改为
                     HOSTCFLAGS =-Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions
                     

提示: 这些更改会启用激进的优化技巧,这些技巧可能并非适用于所有内核。请注意,如果上述优化标志或您为 CPU 架构选择的优化标志对您不起作用,请不要绝对强制使其工作。我不想让您的系统像 Microsoft Windows 一样不稳定。