03 Kernel提供的服务与配置--系统

1.Kernel Modules

  • Modular kernel components 模块化的内核组件
    • Kernel组件是外挂在kernel上的,这样增加了kernel的功能,kernel的大小不会改变。kernel组件的功能包括提供硬件的驱动程序及提供额外的文件系统。
    • 在载入模块的过程中,可以配置模块。
  • kernel模块存放在 /lib/modules
  • 控制模块命令
    lsmod 列出当前载入的模块
    modprobe <module-name> 载入模块,可以同时载入模块相依性,而insmod 不具备载入相依性功能.
  • 如果加入一个未经论证的模块嵌入到kernel中会将Kernel变为tainted(被污染的) kernel,Redhat将不会提供技术支持。

2.配置kernel模块

  • 查看模块信息:# /sbin/modinfo <module-name>
  • 配置模块:/etc/modprobe.conf    (可设定包括别名<默认别名包括网卡,声卡,usb控制器用的是哪个驱动>、参数及执行哪些动作
  • 模块的相依性关系(调用和被调用)记录在:/lib/modules/$(uname -f)/modules.dep ,也可以用depmod -a 查看模块的相依性。
  • 手动控制模块:insmod,rmmod (模块的载入与移除)

3./proc 虚拟目录

  • /proc虚拟目录包含kernel的信息,通过它可以查看系统的状况.
  • /proc目录下的所有文件大小为0,可以通过cat查看文件.例:  cat /proc/cpuinfo
  • 包括系统硬件,网络设置,正在执行中的程序及内存使用状态等.
  • /proc中的子目录:
    1. /proc/scsi/   SCSI设备的信息
    2. /proc/sys/    kernel的参数
    3. /proc/<PID>/ 以数字的形式显示,目录中包含执行中的程序
  • 修改/proc/sys/ 中的文件来及时变更正在执行中kernel的参数

4. 通过sysctl 修改/proc/sys配置

  • 修改/proc/sys只能暂时变更kernel中的参数,当系统重开机后设定将会失效.
  • sysctl 命令变更配置后,这些设定变为静态的,下次重开机设定仍生效.
    使用sysctl变更后的配置会写入到 /etc/sysctl.conf   ,
    sysctl -p 查看sysctl.conf的内容
  • 开机时会执行rc.sysinit这个login script的内容,而rc.sysinit在执行过程中会调用并执行/etc/sysctl.conf中的设定 .

5.重新检测和显示系统中的硬件设备

  • dmesg   and  /var/log/dmesg
    当 开机的过程中会看到kernel的引导信息,由于这些信息在屏幕上停留的时间非常短,所以系统会通过klogd服务来把这些信息写入到ring buff中(环形缓冲区).而环形缓冲区的空间是有限的,当ring buff被写滿后就把信息写入到/var/log/dmesg
  • kudzu    用来维护系统中已经被检测到的硬件设备资料库,当系统检测到某设备或某设备被移除时,kudzu会自动配置或引导管理者配置这个设备.
    /etc/sysconfig/hwconf    已经被检测到的硬件设备
    /usr/share/hwdata/          kudzu会根据这个目录中的硬件资料库文件来检测目前系统中的硬件设备
  • /proc 将检测到的硬件信息写入到该目录中
  • hwbrowser   以图形界面显示系统中的硬件设备

6. PCI总线和ISA总线

  • PCI BUS
    • /sbin/lspci        列出主机中PCI设备
    • /proc/bus/pci   pci信息
  • ISA BUS
    • /proc/isapnp 大部份isa设备支持plug and play(PnP)

7. kerlnel支持的可热插拔的总线
USB 和 IEEE 1394 总线

  • /sbin/hotplug 当检测到时自动启动该命令,并从 /etc/hotplug/ 中载入硬件驱动
  • 把该硬件信息写入到 /proc/bus/ 目录中
  • /sbin/lsusb   列出目前usb插槽中的硬件设备
  • /dev/usb/ 系统自动挂载usb

PCMCIA总线

  • /sbin/cardmgr ( /etc/pcmcia/ )
  • Information in /proc/bus/pccard
  • /sbin/cardctl 显示PCMCIA 插槽的状态

8.系统监听和控制进程

  • top , gnome-system-monitor     显示系统进程
  • vmstat     显示完整的内存,swap,system,cup使用情况
  • free         显示内存的使用情况摘要
  • renice    # renice  <priority> <PID>    调整某个进程 的优先权 
    nice        # nice -n <priority> <app>   调整应用程序 的优先权, 开启应用程序时就要同时指定 优先权
  • kill           传送系统信息给进程
    kill -l        列出每种系统信息的代码
    例: # kill -9 <PID>           强行结束进程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值