首页 > Linux > 列表

生产环境tomcat占用CPU 100%


生产环境CPU逐渐飙升到100%,导致项目卡顿,访问失败

通过top命令查看进程下各个线程的CPU使用情况

top -H -p PID

PID   USE   PR   NI  VIRT  RES   SHR S %CPU   %MEM    TIME+  COMMAND    
23658 qifly  20   0  1842m  136m  13m R  100.2 0.9    1:35.45 java

通过JDK的jstack命令查看线程的堆栈信息,找到出问题的代码

jstack PID|grep -A 20 TID 
说明:PID为JAVA进程ID  TID为16进制的线程ID -A 20为打印20行
经排查为特殊情况导致while死循环导致CPU飙升100%

或者通过jstack将堆栈信息保存至文件中

jstack PID > info.log

阅读全文 »


docker运行项目


安装Docker及配置镜像

安装docker

yum -y install docker
docker --version
systemctl start docker

登录阿里云获取镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://qifjlwgz.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

阅读全文 »


centos7下安装rabbitMQ


yum命令安装ocat

yum -y install socat

下载安装erlang

wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
  • 执行erl命令么,出现erlang相关信息则表示安装成功

下载安装rebbitMQ

wget  http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
  • PS:重新安装,先/var/lib/rabbitmq目录和/etc/rabbitmq目录

  • 防火墙需开放5672(AMQP) 15672(WEB)端口

相关命令

systemctl start rabbitmq-server
rabbitmqctl status //查看启动状态
rabbitmqctl stop  //关闭服务
rabbitmq-server -detached           //进入mq目录,启动rabbitmq,-detached代表后台守护进程方式启动
rabbitmqctllist_users //查看角色

启动web访问rabbitmq插件

rabbitmq-plugins enable rabbitmq_management

默认guest用户不能通过web端访问,需新建用户

rabbitmqctl add_user admin 123 //admin为用户名  123为密码
rabbitmqctl set_user_tags admin administrator  //给用户赋角色

修改rabbitmq配置

cp /usr/share/doc/rabbitmq-server-3.6.10/rabbitmq.config.example /etc/rabbtimq/rabbitmq.config

安装消息延迟插件

wget https://dl.bintray.com/rabbitmq/community-plugins/3.6.x/rabbitmq_delayed_message_exchange/rabbitmq_delayed_message_exchange-20171215-3.6.x.zip

unzip rabbitmq_delayed_message_exchange-20171215-3.6.x.zip -d /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.10/plugins

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

重启rabbitMq用户丢失解决

原因:RabbitMQ数据是根据当前hostname作为node节点作为数据名保存
数据路径:/var/lib/rabbitmq/mnesia/
可以通过添加RabbitMQ固定节点名字为info,保证数据文件不变
echo 'NODENAME=rabbit@info' | sudo tee -a /etc/rabbitmq/rabbitmq-env.conf

设置开机启动

systemctl enable rabbitmq-server.service

阅读全文 »


centos防火墙


centos6防火墙

进入防火墙配置命令

vim /etc/sysconfig/iptables

光标放到一行上,按yy,再按P,复制一行,开放端口

阅读全文 »


linux下安装nginx


要安装nginx需先安装依赖

批量安装nginx依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

下载安装nginx

下载nginx:http://nginx.org/download/    
wget url

解压

tar -zxvf nginx文件名

阅读全文 »


解决用户没权限问题


切换到root

su root

查看sudoers权限

ll /etc/sudoers

阅读全文 »


tar命令解压JDK1.8


查看是否有安装mysql

 rpm -qa|grep jdk

如有使用yum命令卸载

yum -y remove jdk版本

阅读全文 »


安装虚拟机


下载VMWARE12进行安装。

视频教程

备份源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

输入ifconfig后没有eth0信息的,找不到IP的,可以试试输入 ifup eth0 (就是打开网卡),然后再输入ifconfig

vim /etc/sysconfig/network-scripts/ifcfg-eth0

阅读全文 »