Debian/Debian下的Linux内核
Debian | Debian安装 | Debian使用 | Debian系统升级 | Debian常见问题 |
内核编译[ ]
Debian unstable 发行版中的 gcc、binutils 和 module-init-tools 可用来编译最新的 Linux 内核。这方面的官方信息,参阅 file:///usr/share/doc/kernel-package/README.gz,特别是文件的后半部分。
内核编译是个很困难的议题,由于目标在不断的变化,即使是最受人尊敬的开发者也会有不同的见解:
Manoj Srivastava 写到: --initrd 需要 Debian 专用 cramfs 补丁。
Herbert Xu 写到: 不,它不需要,想使用除 CRAMFS 以外的文件系统只需在 /etc/mkinitrd/mkinitrd.conf 中设置 MKIMAGE。
按照 Manoj 和 Kent 撰写的 file:///usr/share/doc/kernel-package/README.gz 以及 http://kernel-handbook.alioth.debian.org/ 的指导小心行事,如果要编译最新版本的内核请确认安装了最新 unstable 版 kernel-package 软件包。
对于单机内核编译,initrd 不是必须的。
内核头文件[ ]
绝大多数“普通”程序不需要内核头文件,事实上如果直接引用它们会出错。这些程序应该引用那些编译 glibc 所用的头文件,它们位于 Debian 系统的 /usr/include/linux 和 /usr/include/asm 目录下。
故不要在 /usr/src/linux 目录中创建指向 /usr/include/linux 和 /usr/include/asm 的链接,一些过时的文档曾建议创建它们。
如果某些内核类应用程序需要特定的内核头文件,可修改 Makefile(s),使其包含指向“特定内核头文件目录/include/linux”和“特定内核头文件目录/include/asm”的路径。
通过 proc 文件系统调整内核[ ]
Linux 内核行为可以在运行状态下通过 proc 文件系统进行调节。
有关在 /proc 文件系统下修改内核参数的基础知识,可参阅 Linux 源码包中的 Documentation/sysctl/* 文件。
打开了太多文件[ ]
Linux 内核有时会报告“Too many open files”,起因是 file-max 默认值(8096)太小。要解决这个问题,可以 root 身份执行下列命令:(或将它们加入/etc/rcS.d/*下的 init脚本。)
# echo "65536" > /proc/sys/fs/file-max # 适用于 2.2 和 2.4 版内核 # echo "131072" > /proc/sys/fs/inode-max # 仅适用于 2.2 版内核
或将下列内容放入 /etc/sysctl.conf,做永久性的更改:
file-max=65536 # 适用于 2.2 和 2.4 版内核 inode-max=131072 # 仅适用于 2.2 版内核
磁盘缓存清除时间(Disk flush intervals)[ ]
可通过 proc 文件系统来修改磁盘缓存清除时间。下面的操作将默认的 5 秒时间间隔缩短到 1 秒。
# echo "40 0 0 0 100 30000 60 0 0" > /proc/sys/vm/bdflush
这可能对文件 I/O 性能产生一点儿负面影响。但它能保证文件内容是最近 1 秒的,比默认的 5 秒更短。对日志文件系统来说更是如此。
迟缓的小内存旧机器[ ]
对某些小内存的旧机器来说,在 proc 文件系统中打开内存的 over-commit 功能会很有效果:
# echo 1 > /proc/sys/vm/overcommit_memory
2.6版内核和udev[ ]
udev 是取代 /dev/ 的动态设置的系统。我们可以选择很短的设备名字。而 2.4 版内核使用的 devfs 已经被淘汰。
安装 Debian 新版的 kernel-image-2.6.NN 和 udev 就能启用这个功能。
参考来源[ ]
http://www.debian.org/doc/FAQ/ch-getting.zh-cn.html
Debian使用手册导航 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|