菜单

翼虎HEL七系统管理之内核管理

2019年4月19日 - UNIXSolaris
  1. Kdump工具
  1. Kdump工具

  Kdump的行事体制是在根本崩溃时, 通过kexec 工具由BIOS运转多个备用水源,
由备用水源执行壹雨后冬笋职务,保存内部存款和储蓄器中崩溃内核的景况, 供后续故障分析用.

  Kdump的工作体制是在根本崩溃时, 通过kexec 工具由BIOS运转三个备用水源,
由备用水源试行1雨后苦笋职分,保存内存中崩溃内核的动静, 供后续故障分析用。

  本文暗中认可AMD或INTEL X86_64架构, PRADOHEL柒系统环境. 

  本文默许AMD或INTEL X八陆_6四架构, LacrosseHEL七种类环境.

一.1 内核管理工科具Kdump安装

一.一 内核管理工科具Kdump安装

  Kdump是牧马人HEL七中自带的水源管理工科具.在帕杰罗HEL柒.壹事先的本子,kdump作为安装达成以往的可选组件自动安装,从库罗德HEL七.1初阶kdump被植入安装分界面,作为系统基础工具供安装选拔.

  Kdump是KugaHEL柒中自带的基本管理工科具.在智跑HEL7.一事先的版本,kdump作为安装完结以往的可选组件自动安装,从CRUISERHEL七.一始发kdump被植入安装分界面,作为系统基础工具供安装选拔.

能够经过下边发号施令直接RPM包安装.

能够通过下边发号施令直接RPM包安装.

yum -y install kexec-tools
rpm -q kexec-tools

yum -y install kexec-tools
rpm -q kexec-tools

并且,Kdump还布置了图形化管理工科具,能够经过下边发号施令安装.

与此同时,Kdump还陈设了图形化管理工科具,能够由此上面发号施令安装.

yum -y install system-config-kdump

yum -y install system-config-kdump

  对于奥迪Q5HEL柒.4及以后的版本,kdump协理INTEL IOMMU.
而不支持揽胜极光HEL七.三及后边的版本.

  对于揽胜HEL柒.四及之后的本子,kdump协理INTEL IOMMU.
而不帮忙卡宴HEL7.三及在此之前的版本.

一.二 通过命令行配置kdump内部存款和储蓄器体积

一.二 通过命令行配置kdump内部存款和储蓄器体量

  kdump能监督系统基本运营景况,其身价比较特殊.
kdump的内部存款和储蓄器空间是在系统运转时,由教导程序分配的,相对于系统基本,kdump内部存款和储蓄器是二个独自的空间.

  kdump能监察和控制类别基本运维状态,其地位相比特殊.
kdump的内部存储器空间是在系统运维时,由指引程序分配的,相对于系统基本,kdump内部存款和储蓄器是一个独门的空间.

能够因而如下命令钦赐kdump的内部存款和储蓄器空间大小.

能够因此如下命令钦点kdump的内部存储器空间大小.

crashkernel=128M     #为kdump保留128M的内存空间.

crashkernel=128M    #为kdump保留12八M的内部存款和储蓄器空间.

   crashkernel的值能够设置成“auto”,在壹部分拥有十分的大内部存款和储蓄器的种类中,利于达成Kdump的自动化管理.

   crashkernel的值能够设置成“auto”,在1部分独具非常大内部存款和储蓄器的系统中,利于达成Kdump的自动化管理.

crashkernel=auto

crashkernel=auto

  当然,crashkernel的值还是能够通过如下格局落实更加灵敏的配置.

  当然,crashkernel的值还足以通过如下形式达成越来越灵敏的配置.

  crashkernel=<范围1>:<大小1>, <范围2>:<大小2>

  crashkernel=<范围1>:<大小1>, <范围2>:<大小2>

crashkernel=512M-2G:64M,2G-:128M    #当系统内存在512M-2G之间时,为Kdump保留64M的内存空间;当系统内存大于2G时,为Kdump保留128M的内存空间.

crashkernel=512M-2G:64M,2G-:128M    #当系统内存在512M-2G之间时,为Kdump保留64M的内部存款和储蓄器空间;当系统内部存款和储蓄器大于2G时,为Kdump保留12捌M的内存空间.

  还足以如此:

  还足以这么:

crashkernel=128M@16M    #为Kdump保留128M的内存空间,内存地址从16M(physical address 0x01000000)开始.

crashkernel=128M@16M    #为Kdump保留12八M的内部存款和储蓄器空间,内部存储器地址从1陆M(physical
address 0x0一千000)起首.

1.3 Kdump的存储

1.3 Kdump的存储

  Kdump的配置在/etc/kdump.cnf中.
kdump提供二种艺术将捕获到基础崩溃数据本地保存或保存到长途主机.

  Kdump的计划在/etc/kdump.cnf中.
kdump提供八种办法将捕获到基本崩溃数据本地保存或保存到长途主机.

#path /var/crash    #kdump本地存储目录,默认是存放在/var/crash目录下,可以根据使用习惯设置.
path /usr/local/cores 
...
#raw /dev/vg/lv_kdump    #kdump可以直接写入移动介质.
raw /dev/sdb1
...
#nfs my.server.com:/export/tmp    #kdump可以通过NFS保存到网络上其它存储设备中.
nfs test.example.com:/export/cores
...
#ssh user@my.server.com      #kdump可以通过SSH传输协议,保存远程主机上.
#sshkey /root/.ssh/kdump_id_rsa
ssh user@test.example.com
sshkey /root/.ssh/mykey

#path
/var/crash    #kdump本地存款和储蓄目录,暗许是存放在/var/crash目录下,能够依照使用习惯设置.
path /usr/local/cores 

#raw /dev/vg/lv_kdump    #kdump能够一向写入移动介质.
raw /dev/sdb1

#nfs
my.server.com:/export/tmp    #kdump能够通过NFS保存到互连网上其余存款和储蓄设备中.
nfs test.example.com:/export/cores

#ssh
user@my.server.com      #kdump能够通过SSH传输协议,保存远程主机上.
#sshkey /root/.ssh/kdump_id_rsa
ssh user@test.example.com
sshkey /root/.ssh/mykey

  kdump.conf中还足以在 core_collector makedumpfile 选项后增进” -c “,
使kdump文件能够被压缩,以节省存储空间.

  kdump.conf中还足以在 core_collector makedumpfile 选项后增加” -c “,
使kdump文件能够被减弱,以节省存款和储蓄空间.

core_collector makedumpfile -c

systemctl start kdump.service    #启动Kdump服务
systemctl enable kdump.service    #使Kdump开机自启
systemctl is-active kdump       #检查Kdump是否已启动
active
echo 1 > /proc/sys/kernel/sysrq   #模拟内核崩溃,检查/var/crash/是否自动保存Kdump捕获的内核崩溃数据, 以确定Kdump是否正常工作
echo c > /proc/sysrq-trigger

core_collector makedumpfile -c

  必要留意的是

systemctl start kdump.service    #启动Kdump服务
systemctl enable kdump.service    #使Kdump开机自启
systemctl is-active kdump       #自小编批评Kdump是不是已开发银行
active
echo 1 >
/proc/sys/kernel/sysrq   #仿照内核崩溃,检查/var/crash/是还是不是自动保存Kdump捕获的水源崩溃数据,
以明确Kdump是或不是正规干活
echo c > /proc/sysrq-trigger

  (一)在HummerH二HEL七从前的版本中,kdump的仓库储存目录会随着kdump服务的运营而由系统自动创立.
昂科雷HEL7中,假设退换了kdump的储存目录,则必须在运维kdump服务从前,手动创造kdump的积存目录,不然kdump服务会运行失利.

  须要留意的是

  (二)假使在安装分界面禁止使用了kdump, 而安装完结今后再经过systemctl start
kdump运转kdump, 会报内部存储器不足不可能起动的错误.
kdump的内部存款和储蓄器空间是在基础加载在此之前由boot分配的, 所以必须修改boot.
最棒使用kdump的图形管理工科具 system-config-kdump 加载kdump的暗中认可配置,
使kdump处于可用状态, 然后重启系统, systemctl status kdump
服务处于激活状态(active).

  (1)在PRADOHEL七以前的本子中,kdump的存款和储蓄目录会趁着kdump服务的运转而由系统活动成立.
LacrosseHEL7中,假若改动了kdump的贮存目录,则必须在起步kdump服务从前,手动创立kdump的囤积目录,不然kdump服务会运维失败.

一.四 利用crash效用分析内核崩溃

  (2)若是在安装分界面禁止使用了kdump, 而安装到位以后再通过systemctl start
kdump运行kdump, 会报内部存款和储蓄器不足无法起动的错误.
kdump的内部存款和储蓄器空间是在基础加载在此以前由boot分配的, 所以必须修改boot.
最棒使用kdump的图纸管理工具 system-config-kdump 加载kdump的私下认可配置,
使kdump处于可用状态, 然后重启系统, systemctl status kdump
服务处于激活状态(active).

  利用crash作用组件能够分析linux内核崩溃时的互联网、磁盘、CPU、系统基本状态,急迅牢固故障点.

一.肆 利用crash成效分析内核崩溃

crash组件能够因而RPM包安装.

  利用crash功效组件能够分析linux内核崩溃时的互连网、磁盘、CPU、系统基本状态,快捷牢固故障点.

sudo yum -y install crash       #安装crash
sudo debuginfo-install kernel    #安装内核调试模块

crash组件能够通过RPM包安装.

 sudo crash /usr/lib/debug/lib/modules/<kernel>/vmlinux
/var/crash/<timestamp>/vmcore  #启动crash调试

sudo yum -y install crash       #安装crash
sudo debuginfo-install kernel    #设置内核调节和测试模块

测试一下:

sudo crash /usr/lib/debug/lib/modules/<kernel>/vmlinux
/var/crash/<timestamp>/vmcore  #启动crash调试

图片 1

测试一下:

图片 2

图片 3

crash基本调节和测试命令:

图片 4

crash>log    #崩溃时日志记录
crash>bt     #崩溃时的堆栈信息
crash>vm     #崩溃时的内存状态
crash>ps     #崩溃时的进程状态
crash>files   #崩溃时的打开的文件
crash>exit   #退出crash

crash基本调试命令:

2 linux内核调校

crash>log    #崩溃时日志记录
crash>bt     #崩溃时的库房音讯
crash>vm     #崩溃时的内部存款和储蓄器状态
crash>ps     #崩溃时的进度景况
crash>files   #崩溃时的张开的文件
crash>exit   #退出crash

二.一 kernel的调校门路

二 linux内核调校

  翼虎HEL7中提供三种基本调校方法:

二.壹 kernel的调校门路

  (1)使用sysctl 命令;

  汉兰达HEL七中提供两种基础调校方法:

  (二)修改/etc/sysctl.d/ 目录下的内核配置文件;

  (1)使用sysctl 命令;

  (三)通过shell 在/proc/sys 目录下挂载虚拟文件系统;

  (2)修改/etc/sysctl.d/ 目录下的水源配置文件;

二.二 sysctl命令能够列出、读取、设置基本参数,
还足以将参数设置为目前或长久.

  (三)通过shell 在/proc/sys 目录下挂载虚拟文件系统;

sysctl -a        #列出所有可调校的项
sysctl kernel.version    #列出kernel的版本信息

sysctl <tunable class>.<tunable>=<value>       #使调校参数临时生效
sysctl -W <tunable class>.<tunable>=<value>   #使调校参数永久生效

2.2 sysctl命令可以列出、读取、设置基础参数,
还足以将参数设置为目前或永恒.

二.三 修改/etc/sysctl.d/9玖-sysctl.conf 目录下的9九-sysctl.conf文件

sysctl -a        #列出装有可调校的项
sysctl kernel.version    #列出kernel的版本消息

cp /etc/sysctl.d/99-sysctl.conf /etc/sysctl.d/99-sysctl.conf.bak    #备份系统默认的内核参数文件
vim /etc/sysctl.d/99-my.conf    #创建新的内核参数文件

...
<tunable class>.<tunable> = <value>   #写入要调校的参数类和值
 <tunable class>.<tunable> = <value>
...
save    #保存文件
reboot\ sysctl -p /etc/sysctl.d/99-my.conf  #重启系统或者使用sysctl -p 命令载入新的内核参数配置

sysctl <tunable class>.<tunable>=<value>     
#使调校参数一时生效
sysctl -W <tunable class>.<tunable>=<value>  
#使调校参数恒久生效

二.4 sysctl 调校内核参数

二.三 修改/etc/sysctl.d/9九-sysctl.conf 目录下的9九-sysctl.conf文件

(一)调整最大请求的aio数量.

cp /etc/sysctl.d/99-sysctl.conf
/etc/sysctl.d/99-sysctl.conf.bak    #备份系统暗中认可的基本参数文件
vim /etc/sysctl.d/99-my.conf    #始建新的基石参数文件

sysctl -a | grep fs.aio    #查看内核默认的最大aio值
sysctl fs.aio-max-nr=2048576  #临时调整aio最大值


<tunable class>.<tunable> = <value>
  #写入要调校的参数类和值
 <tunable class>.<tunable> = <value>

save    #保存文件
reboot\ sysctl -p /etc/sysctl.d/99-my.conf  #重启系统也许接纳sysctl
-p 命令载入新的基石参数配置

图片 5

二.肆 sysctl 调校内核参数

(二)开启本地ipv肆转载功能.

(1)调节最大请求的aio数量.

sysctl net.ipv4.ip_forward = 1

sysctl -a | grep fs.aio    #查看内核私下认可的最大aio值
sysctl fs.aio-max-nr=2048576  #临时调控aio最大值

(三)设定进度能被分配到的最大内部存款和储蓄器空间.

图片 6

sysctl vm.max_map_count = 65530

(二)开启本地ipv四转载功效.

(四)设定系统中而且运维的最大进度数.

sysctl net.ipv4.ip_forward = 1

sysctl kernel.threads-max = 16161

(3)设定进度能被分配到的最大内部存款和储蓄器空间.

  在root权限下,通过sysctl 命令的基业参数调校, 基本上能间接调控linux
的基石全体行为举止, 满足实际生产中的绝大许多须求.

sysctl vm.max_map_count = 65530

  

(4)设定系统中并且运维的最大过程数.

sysctl kernel.threads-max = 16161

在root权限下,通过sysctl 命令的水源参数调校, 基本上能直接调节linux
的内核全数行止, 满意实际生育中的绝大繁多须要.

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

正文恒久更新链接地址https://www.linuxidc.com/Linux/2018-09/153873.htm

图片 7

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图