内核

	linux内核是单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制
内核组成部分:
kernel:
内核核心,一般为bzImage,通常在/boot 目录下,名称为vmlinuz-VERSION-RELEASE.
kernel object:
内核对象,一般放置于/lib/modules/VERSION-RELEASE/
辅助文件:
ramdisk
initrd
initramfs

内核版本

	运行中的内核:
uname 命令:
uname - print system information
uname [OPTION]...
-n: 显示节点名称;
-r: 显示VERSION-RELEASE;
-a: 显示所有信息
-s, --kernel-name 显示kernel名称
-v, --kernel-version 显示kernel版本
-m, --machine 显示机器硬件名称
-p, --processor 显示进程类型 or "unknown"
-i, --hardware-platform 显示硬件平台or "unknown"
-o, --operating-system 显示操作系统 uname -a
Linux centos6 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Linux: 操作系统类型
centos6: 操作系统的主机名
2.6.32-696.el6.x86_64: 内核版本信息
#1 SMP Tue Mar 21 19:29:05 UTC 2017: 内核的编译日期
x86_64 x86_64 x86_64: 这三组分别表示,
操作系统版本,处理器类型,硬件平台
GNU/Linux: 操作系统名称

内核模块命令

	lsmod
lsmod - Show the status of modules in the Linux Kernel
显示核心已经装载的内核模块
显示的内容来自于/proc/modules 文件 modinfo
显示模块的详细描述信息
modinfo - Show information about a Linux Kernel module
modinfo [options] filename [args]
Options:
-a, --author 仅显示'author'
-d, --description 仅显示'description'
-l, --license 仅显示'license'
-p, --parameters 仅显示'parm',显示模块参数
-n, --filename 仅显示'filename',只显示模块文件路径
-0, --null 使用\0取代\n
-F, --field=FIELD 仅打印给出的FIELD
-k, --set-version=VERSION 使用VERSION代替`uname -r`
-b, --basedir=DIR 使用DIR作为文件系统的root目录,for/lib/modules lsmod |grep xfs;modinfo xfs

内核模块管理

	modprobe
装载或卸载内核模块
modprobe [ -C config-file ] [ modulename ] [ module parame-ters... ]
modprobe [-v] [-V] [-C config-file] [-d <dirname> ] [-n] [-i] [-q] [-b] [-o <modname>] [ --dump-modversions ] <modname> [parameters...]
modprobe -r [-n] [-i] [-v] <modulename> ...
modprobe -l -t <dirname> [ -a <modulename> ...]
装载模块:modprobe mod_name(这里会自动解决模块儿间的依赖关系)
卸载模块:modprobe -r mod_name
配置文件:/etc/modprobe.conf,/etc/modprobe.d/*.conf depmod
内核模块依赖关系文件及系统信息映射文件的生成工具
depmod -[aA] [-n -e -v -q -V -r -u -w -m][-b basedirectory] [forced_version]
depmod [-n -e -v -q -r -u -w] [-F kernelsyms] module1.ko module2.ko ... insmod
装载模块文件,不自动解决依赖模块
insmod [ filename ] [ module options... ]
insmod `modinfo –n exportfs`
lnsmod `modinfo –n xfs` rmmod
卸载模块
rmmod [ -f ] [ -w ] [ -s ] [ -v ] [ modulename ]
rmmod xfs
rmmod exportfs

/proc

	/proc 目录
内核把自己内部状态信息及统计信息以及可配置参数通过proc 伪文件系统加以输出。
该目录是系统与内核交互的一个伪文件系统接口,/proc下的每个文件名都是内核参数,目录名为内核参数节点(子系统或子功能)信息。
该目录下的一些只读文件表示的是输出的内核信息,一些可以写的文件表示可修改的内核工作特性,这些可写的文件分布在/proc/sys目录下。
伪文件系统的特定就是文件不能直接使用编辑器编辑,但可以使用echo和sysctl -w进行修改。
参数:
只读的输出信息
可写是指可接受用户指定“新值”来实现对内核某功能或特性的配置
可写的内核参数放在/proc/sys,此目录下的文件可临时更改,是立即生效的,但内核重启后无效
sysctl 命令用于查看或设定此目录中诸多参数
sysctl -w path.to.parameter=VALUE
sysctl -w kernel.hostname=mail.magedu.com
echo命令通过重定向方式也可以修改大多数参数的值
echo "VALUE" > /proc/sys/path/to/parameter
echo “websrv” > /proc/sys/kernel/hostname
内核参数配置文件/etc/sysctl.conf
格式为path.to.paramter=NEW_VALUE
注意:
此种设定不能立即生效,但重启系统后一直生效,为了不重启系统而使其生效的方式:
sysctl -p [/path/to/conf_file]

/sys

	/sys 目录:
该目录为文件系统提供接口,所谓sysfs(伪文件系统)主要用于输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特性的设定信息。
有些参数是可以修改的,用于调整硬件工作特性。
这些设备文件仅仅是用户空间访问设备时的一个接口。
在系统启动过程当中,当内核探测到有硬件设备时,会将硬件设备的信息输出到/sys目录,然后系统根据/sys目录中的硬件设备信息来创建对应的设备文件。
这些设备文件是udev通过读取/sys目录下保存硬件设备的相关信息来为每个当前内核探测到的硬件设备创建设备文件,创建设备文件的权限、名称等属性是可定制的。
udev通过此路径下输出的信息动态为各设备创建所需要设备文件,udev 是运行用户空间程序。
udev为设备创建设备文件时,会读取其事先定义好的规则文件,一般是在/etc/udev/rules.d 及/usr/lib/udev/rules.d目录下,这些规则文件是可以修改的。
专用工具:udevadm, hotplug

sysctl

	sysctl - configure kernel parameters at runtime,配置内存参数
sysctl [options] [variable[=value] ...]
sysctl -p [file or regexp] [...]
Options:
-a, --all 显示所有变量
-A alias of -a
-X alias of -a
--deprecated 列出不用的参数
-b, --binary print value without new line
-e, --ignore 忽略不知道变量错误
-N, --names 显示不带值的变量名
-n, --values 仅显示变量的值
-p, --load[=<file>] 从文件中读取值
-f alias of -p
--system 从所有的系统目录中读取值
-r, --pattern <expression> 选择匹配到的设置
-q, --quiet 不显示变量设置
-w, --write 是变量可写
-o does nothing
-x does nothing
-d alias of -h
默认配置文件:/etc/sysctl.conf
设置某参数
sysctl -w parameter=VALUE
通过读取配置文件设置参数
sysctl -p [/path/to/conf_file]
查看所有生效参数
sysctl -a
常用的几个参数:
net.ipv4.ip_forward
net.ipv4.icmp_echo_ignore_all
vm.drop_caches
释放缓存:
echo 1 > /proc/sys/vm/drop_caches
sysctl -w net.ipv4.ip_forward=1

kernel信息及其相关命令的更多相关文章

  1. Git配置信息相关命令

    查看git所有配置项 $ git config -l or $ git config --list 全局配置用户名邮箱 $ git config --global user.name "yo ...

  2. 文件相关命令(find,tree,tar)文件属性信息 date

    6.13day11 文件相关命令(find,tree,tar)文件属性信息date 1 文件相关命令 1.1 find命令 查找文件用f find /root -type f -name " ...

  3. 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)

    Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...

  4. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  5. 四、linux基础-系统目录_安装_相关命令_调度

    4 系统目录-安装-版本4.1系统目录Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录. 在装完Linux系统以后会自动生成一下等目录, ...

  6. 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令

    Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...

  7. linux 目录结构及其相关命令

    目录也是一个文件,它的唯一功能是用来保存文件及其相关信息.所有的文件,包括普通文件.设备文件和目录文件,都会被保存到目录中. 主目录 登录后,你所在的位置就是你的主目录(或登录目录),如果是root用 ...

  8. Shell编程基础教程5--文本过滤、正则表达式、相关命令

    5.文本过滤.正则表达式.相关命令    5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令)        简介:            一种用来描述文本模式的特殊语法      ...

  9. Linux文件管理相关命令

    Linux文件管理相关命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...

随机推荐

  1. 02--Activiti初始化表

    初始化数据库 方法一:执行sql脚本文件activiti-5.13\database\create\activiti.mysql.create.*.sql文件 方法二:代码创建(有流程自然就有表) p ...

  2. 04002_HTML表单

    1.表单标签 (1)表单标签:所有需要提交到服务器的表单项必须使用<form></form>括起来: (2)from标签属性 ①action:整个表单提交的位置,可以是一个页面 ...

  3. P1631 序列合并 洛谷

    https://www.luogu.org/problem/show?pid=1631 题目描述 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个. ...

  4. Maximum Product Subarray(最大连续乘积子序列)

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  5. Elasticsearch自定义客户端(TransportClient)资源池

    前言: java中调用TransportClient时,我们一般都会设置成单例,为了避免多次的创建与关闭造成的内存占用及关闭缓慢问题.而TransportClient本身也是实现了线程池threadP ...

  6. Django学习系列之中间件

    中间件的定义 中间件是一个.一个的管道,如果相对任何所有的通过Django的请求进行管理都需要自定义中间件 中间件可以对进来的请求和出去的请求进行控制 中间件是一类 django请求生命周期 自定义中 ...

  7. 013 IPv6

    Router>en Router#config t Enter configuration commands, one per line.  End with CNTL/Z. Router(co ...

  8. 【C++ STL应用与实现】18: 怎样使用迭代器适配器

    本系列文章的文件夹在这里:文件夹. 通过文件夹里能够对STL整体有个大概了解 前言 本文介绍了STL中的迭代器适配器(iterator adapter)的概念及其用法演示样例.迭代器适配器能够和标准库 ...

  9. python爬虫实践

    模拟登陆与文件下载 爬取http://moodle.tipdm.com上面的视频并下载 模拟登陆 由于泰迪杯网站问题,测试之后发现无法用正常的账号密码登陆,这里会使用访客账号登陆. 我们先打开泰迪杯的 ...

  10. 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习

    反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...