当前位置: 58彩票app下载 > 操作系统 > 正文

PAJEROHEL7系统管理之内核管理

时间:2019-11-13 14:58来源:操作系统
Kdump工具 Kdump的干活机制是在根本崩溃时, 通过kexec 工具由BIOS运转贰个备用水源,由备用水源试行一精彩纷呈任务,保存内部存款和储蓄器中崩溃内核的情况, 供后续故障剖析用. 本文暗许
  1. Kdump工具

  Kdump的干活机制是在根本崩溃时, 通过kexec 工具由BIOS运转贰个备用水源, 由备用水源试行一精彩纷呈任务,保存内部存款和储蓄器中崩溃内核的情况, 供后续故障剖析用.

  本文暗许AMD或INTEL X86_64架构, 兰德揽胜HEL7连串情况. 

1.1 内核管理工科具Kdump安装

  Kdump是ENVISIONHEL7中自带的基本处理工科具.在ENVISIONHEL7.1事先的本子,kdump作为安装完结以往的可选组件自动安装,从凯雷德HEL7.1起先kdump被植入安装界面,作为系统底工工具供安装选拔.

能够由此上面施命发号直接RPM包安装.

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

与此同期,Kdump还布署了图形化管理工科具,能够透过上面发号出令安装.

yum -y install system-config-kdump

  对于宝马X3HEL7.4及其后的本子,kdump帮助INTEL IOMMU. 而不支持XC60HEL7.3及以前的版本.

1.2 通过命令行配置kdump内存体量

  kdump能监督系统基本运转情形,其身份相比较特殊. kdump的内部存款和储蓄器空间是在系统运营时,由带领程序分配的,绝对于系统基本,kdump内部存款和储蓄器是二个单独的空间.

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

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

   crashkernel的值能够设置成“auto",在有的存有极大内存的种类中,利于达成Kdump的自动化处理.

crashkernel=auto

  当然,crashkernel的值还能透过如下方式贯彻更加灵敏的配置.

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

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

  还足以这么:

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

1.3 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

  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

  须要注意的是

  (1)在EvoqueHEL7从前的版本中,kdump的积存目录会趁着kdump服务的运营而由系统活动创立. RAV4HEL7中,假如退换了kdump的存款和储蓄目录,则必得在开发银行kdump服务早前,手动成立kdump的贮存目录,不然kdump服务会运营失利.

  (2)假设在装置界面禁止使用了kdump, 而安装完结现在再经过systemctl start kdump运营kdump, 会报内部存款和储蓄器不足无法运维的错误. kdump的内部存款和储蓄器空间是在根本加载以前由boot分配的, 所以必得订正boot. 最棒利用kdump的图片管理工科具 system-config-kdump 加载kdump的暗中认可配置, 使kdump处于可用状态, 然后重启系统, systemctl status kdump 服务处于激活状态(active).

1.4 利用crash成效深入分析内核崩溃

  利用crash功效组件能够解析linux内核崩溃时的网络、磁盘、CPU、系统基本状态,飞快稳固故障点.

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

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

crash基本调节和测量试验命令:

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

2 linux内核调校

2.1 kernel的调校渠道

  TiguanHEL7中提供两种基本调校方法:

  (1)使用sysctl 命令;

  (2)改正/etc/sysctl.d/ 目录下的基本配置文件;

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

2.2 sysctl命令能够列出、读取、设置底蕴参数, 还足以将参数设置为一时或永世.

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

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

2.3 修正/etc/sysctl.d/99-sysctl.conf 目录下的99-sysctl.conf文件

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 命令载入新的内核参数配置

2.4 sysctl 调校内核参数

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

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

图片 3

(2)开启本地ipv4转载效用.

sysctl net.ipv4.ip_forward = 1

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

sysctl vm.max_map_count = 65530

(4)设定系统中并且运行的最大进度数.

sysctl kernel.threads-max = 16161

  在root权限下,通过sysctl 命令的木本参数调校, 基本上能直接调整linux 的内核全体行为举止, 满意实际生育中的绝大许多须求.

  

编辑:操作系统 本文来源:PAJEROHEL7系统管理之内核管理

关键词:

  • 上一篇:没有了
  • 下一篇:没有了