Centos7/RHEL7 开启kdump

原文链接《How to enable Kdump on RHEL 7 and CentOS 7》 Kdump是一种基于kexec的Linux内核崩溃捕获机制,简单来说系统启动时会预留一块内存,当系统崩溃调用命令kexec(kdump kernel)在预留的内存中启动kdump内核, 该内核会将此时内存中的所有运行状态和数据信息收集到一个coredump文件中以便后续分析调试。 本文介绍如何在Centos7/RHEL7 开启kdump。 步骤1 安装kexec-tools [objc] view plain copy [vagrant@localhost ~]$ yum install kexec-tools 步骤2 设置crashkernel预留内存大小 [objc] view plain copy [vagrant@localhost ~]$ cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="<span style="color:#ff0000;">crashkernel=256M</span> rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet" GRUB_DISABLE_RECOVERY="true" 修改crashkernel的大小,我的系统内存是1G,保留了256M,注意预留内存大小,过小会导致生成coredump文件失败(不知道设置多少时,可以尝试每次增加128M) 修改后还需重新生成grub配置文件,重启系统才能生效 [objc] view plain copy [vagrant@localhost ~]$ grub2-mkconfig -o /boot/grub2/grub.cfg [vagrant@localhost ~]$ reboot 步骤3 修改kdump默认配置/etc/kdump.conf centos7 默认已安装kdump,根据需要修改默认配置 [objc] view plain copy [vagrant@localhost ~]$ vi /etc/kdump.conf #指定coredump文件存储位置 path /var/crash #增加-c参数,代表压缩coredump文件 core_collector makedumpfile -c -l --message-level 1 -d 31 #生成coredump后,重启系统, default reboot 步骤4 开启kdump服务 [objc] view plain copy [vagrant@localhost ~]$ systemctl start kdump.service //启动kdump … Continue reading Centos7/RHEL7 开启kdump

kdumpctl: No memory reserved for crash kernel.

kdump 是一种 kernel crash dump 的机制,它可以在内核 crash 时保存系统的内存信息用于后续的分析。kdump 是基于 kexec 的。 crash 是一个用于交互式地分析正在运行的 Linux 系统或者 kernel crash 后的 core dump 数据的工具。 记录一下问题及其解决方法: 在 centos7 中的 kdump.service 服务一直不能正常启动,如下: [root@mesos-slave-dev001-cqdx ~]# systemctl status kdump.service ● kdump.service - Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since 二 2016-07-19 14:07:37 CST; … Continue reading kdumpctl: No memory reserved for crash kernel.

Logs flooded with systemd messages: Created slice &amp; Starting Session

https://access.redhat.com/solutions/1564823 Environment Red Hat Enterprise Linux 7 Issue On my RHEL7 newely installed system I am seeing the following in /var/log/messages all the time Raw Jul 24 08:50:01 example.com systemd: Created slice user-0.slice. Jul 24 08:50:01 example.com systemd: Starting Session 150 of user root. Jul 24 08:50:01 example.com systemd: Started Session 150 of user root. Jul 24 … Continue reading Logs flooded with systemd messages: Created slice &amp; Starting Session

CentOS7 配置kdump和使用crash工具分析crash现场

原文  http://smilejay.com/2016/04/centos7-kdump-configuration/ 1. 关于kdump 和 crash kdump是一种kernel crash dump的机制,它可以在内核crash时保存系统的内存信息用于后续的分析。kdump是基于kexec的。 crash是一个用于交互式地分析正在运行的Linux系统或者kernel crash后的core dump数据的工具。 dump的工作原理图: 2. 在CentOS 7 中配置kdump 需要在kernel启动命令行参数中添加crashkernel参数,并启动kdump服务。 一般设置为 crashkernel=auto 表示根据系统内存自动reserve一些内存给kernelcrash用,在x86_64系统中内存大于等于2GB时会reserve内存,最小保留内存计算方法是:160 MB + 2 bits for every 4 KB of RAM. 当然,也可以设置crashkernel=512M这样的固定保留内存。 用 yum install kexec-tools 安装kdump工具和服务 用 systemctl start kdump 命令可以启动kdump.service,用 systemctl enable kdump 让dump服务在开机时自动启动。 kdump.service 相关的配置文件 /etc/kdump.conf 里面可以修改一些默认的配置,比如dump完成后的动作(默认是reboot)、dump文件存放的方式(本地目录、NFS、scp到另外服务器等)。 3. 测试kdump 用root权限执行如下命令,可以让kernel crash。 # echo … Continue reading CentOS7 配置kdump和使用crash工具分析crash现场

CentOS7中使用jsvc启动tomcat(daemon模式)

在生产中,tomcat应该以daemon的模式运行,而且如果需要以普通用户的身份启动tomcat,那么就不能使用1024以下的端口,这是Liunx系统的限制,只有root用户才能使用小于1024的端口。那么该如何将tomcat配置成服务呢?接下来,我们就来聊一聊jsvc这个东东。 jsvc是什么,简单的讲,它就是一个C程序,是tomcat发行版中自带的一套代码,路径在tomcat/bin/commons-daemon-native.tar.gz中。有了jsvc,我们就可以简单的定制tomcat的启动脚本使tomcat成为服务,指定tomcat运行时的用户和组,还可以定制一些jvm的参数等等,废话不多说,下面开始实战配置: 1,系统环境说明: 系统版本: [root@tomcat ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 内核版本: [root@tomcat ~]# uname -r 3.10.0-514.el7.x86_64 jdk版本: java version "1.8.0_144" tomcat版本: apache-tomcat-8.5.20 2,JDK安装: 下载JDK,为了和线上环境保持一致,这里使用jdk1.8版本的。下载链接: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我这里提前下好了jdk,所以就直接安装了。 [root@tomcat ~]# cd soft/ [root@tomcat soft]# tar xf jdk-8u144-linux-x64.tar.gz -C /opt/ #解压到opt目录下 [root@tomcat soft]# cd /opt/ [root@tomcat opt]# ln -sv jdk1.8.0_144/ jdk #创建软链接 ‘jdk’ -> ‘jdk1.8.0_144/’ … Continue reading CentOS7中使用jsvc启动tomcat(daemon模式)

jsvc将tomcat配置成服务

1、在/usr/share/tomcat6/bin中有commons-daemon-native.tar.gz  压缩包 2、解压commons-daemon-native.tar.gz # tar -zxvf commons-daemon-native.tar.gz 3、解压完成,出现commons-daemon-1.0.2-native-src文件夹(目录) 4、  执行configure 文件 cd commons-daemon-1.0.2-native-src/unix ./configure 5、  编译 [root@localhost ~]# make   #会报错 [root@localhost ~]# make clean [root@localhost ~]# make    #重新编译成功 6、 编译完成后出现jsvc文件夹,复制jsvc到/usr/share/tomcat6/bin目录下面 [root@localhost ~]# cp jsvc ../../ 10、在/etc/init.d/目录下编写tomcat6启动服务配置文件。 [root@localhost ~]#cd /etc/init.d/ [root@localhost ~]# vi tomcat6 Java代码   #!/bin/sh # tomcat: Start/Stop/Restart tomcat # # chkconfig: 2345 85 15 # description: Apache tomcat6 # Small shell script to show how to start/stop Tomcat using jsvc JAVA_HOME=/usr/java/jdk1.6.0  #根据自己的实际jdk位置来修改 CATALINA_HOME=/usr/local/tomcat        #根据自己实际tomcat位置来修改 DAEMON_HOME=$CATALINA_HOME/bin # I did not use the user. TOMCAT_USER=tomcat … Continue reading jsvc将tomcat配置成服务

CentOS7安装 Tomcat 8 完整步骤

原文:https://www.vultr.com/docs/how-to-install-apache-tomcat-8-on-centos-7 Apache Tomcat 是特别为JAVA设计的开源WEB服务器,使用非常广泛。 以下是CentOS7中安装Tomcat 8 的步骤教程: 系统要求 1.CentOS7 2.可登陆的非root的ssh账号 Step1 升级CentOS系统 sudo yum install epel-release sudo yum update -y && sudo reboot 1 2 Step2 安装JAVA sudo yum install java-1.8.0-openjdk.x86_64 1 安装完毕后,运行java -version 将输出如下内容: openjdk version "1.8.0_91" OpenJDK Runtime Environment (build 1.8.0_91-b14) OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) 1 2 3 Step3 新增Tomcat专用用户 … Continue reading CentOS7安装 Tomcat 8 完整步骤

CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务

距离上次折腾已经有很长一段时间了。。。 不说这个,刚好有空闲,把这两天折腾的 Tomcat 8 的服务配置整理出来收录一下。   1、JDK安装 1)检查服务器是否预装了 openJdk,如果有就删除,在这里因为我的系统里没有所以不多赘述。 2)到 oracle 的官网下载 JDK 安装包,这里我使用的是 jdk1.8.0_73,官网下载 jdk-8u73-linux-x64.rpm 并上传到服务器。 3)到安装包目录下执行命令 rpm -ivh jdk-8u73-linux-x64.rpm 4)运行命令查看是否安装成功 java -version 显示 java 版本信息,安装成功 java version "1.8.0_73" Java(TM) SE Runtime Environment (build 1.8.0_73-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)   2、Tomcat8 配置 1)下载 Tomcat 8 并上传到服务器,这里我下载的是 apache-tomcat-8.0.32.tar.gz 版本 2)配置单独用户 … Continue reading CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务