Linux企业生产常见问题集合(一)答案

2020-09-16 16:40:29 浏览数 (1)

之前民工哥发过关于企业生产问题集合一,很多小伙伴们在后台问我,民工哥啊,后面会有答案出来吗?什么时候发答案出来,有时候我也在想,我给的答案不一定是正确的,是不是有时候也会“误导他人”,但是终究我出的题,答案还是要分享出来的,这么,接下来就公布下民工哥的答案,同时欢迎各位小伙伴们在文未留言发表自己的答案一起讨论。

1、如何设置tomcat-8.5.9 JVM内存大小,写出设置步骤

代码语言:javascript复制
JAVA_OPTS="$JAVA_OPTS -Xmx2048m -Xms1024m -Xss512k -XX:NewRatio=4 -XX:SurvivorRatio=4"
     -Xmx2048m #最大可用内存
  -Xms1024m #最小可用内存(最大最小可设置成相等值)
  -Xss512k #每个进程的堆栈大小

2、nginx代理后端主机,客户端访问时页面与日志都是出现504 gateway timeout提示信息,如何解决?写出步骤

先说下出现的原因吧,出现这类情况原因很多

总结三大类:

1:网络问题

2:代码问题

3:配置问题

解决方法如下:

代码语言:javascript复制
   location / {
       ....................................
        proxy_pass http://10.0.0.101:9563
        proxy_connect_timeout 300 ;      
        proxy_read_timeout 300;
        proxy_send_timeout 300;
     }

#通过设置proxy连接超时时间间隔防止出现504 500等其它错误,默认超时时间为60S

3、如何检查两端文件是否同步完成,并通过配置zabbix来展示和监控,写出思路与具体配置步骤

这个题没有绝对的答案,只有看谁的实现方法简单、配置少、而又达到目的

我的解决思路如下:

1:同步客户端目录定时统计目录与文件数 find ./ |wc -l > file.log

2:实时同步file.log到同步的服务端,同样服务端定时统计目录与文件数 find ./ wc -l > rsfile.log

3:用脚本来判断两个文件中数字大小是否相同,相同就打印ok >result.log,否则打印error >result.log

4: zabbix配置就只需要定时检查result中ok的个数是否为1,不是1就报警

#如果小伙伴们有好的思路与方法,请在文未留言

4、使用free -mh发现cached大小为4G,内存可使用量只有5M,请问如何清除,写出步骤并注释

####手工释放cached 占用的内存

清除前使用sync命令将所有未写的系统缓冲区写到磁盘中

代码语言:javascript复制
To free pagecache:  echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:  echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:  echo 3 > /proc/sys/vm/drop_caches

#手工释放完成后,改回默认0:echo 0 > /proc/sys/vm/drop_caches

代码语言:javascript复制
#################定时释放脚本#################
#!/bin/bash
used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "===========================" >> /var/log/mem.log
date >> /var/log/mem.log
echo "Memory usage | [Use:
if [ $free -le 1000 ] ; then
   sync && echo 1 > /proc/sys/vm/drop_caches
   sync && echo 2 > /proc/sys/vm/drop_caches
   sync && echo 3 > /proc/sys/vm/drop_caches
   echo "OK" >> /var/log/mem.log
else
  echo "Not required" >> /var/log/mem.log
fi
########################################

5、创建与调整SWAP分区的方法,请写出具体步骤

####创建与调整SWAP分区的方法

###方法1:创建分区文件

代码语言:javascript复制
dd if=/dev/zero of=/var/swap bs=1024 count=5G
mkswap /var/swap
swapon /var/swap
加入/etc/fstab
/var/swap  swap swap defaults 0 0

###方法2:调整正在使用的分区大小

#关闭分区

代码语言:javascript复制
swapoff /dev/mapper/VolGroup-lv_swap

#增加大小

代码语言:javascript复制
lvm lvresize /dev/mapper/VolGroup-lv_swap -L  25000M 

#格式化分区

代码语言:javascript复制
mkswap /dev/mapper/VolGroup-lv_swap

#启用分区

代码语言:javascript复制
swapon -va

6、如何设置redis开启远程访问

代码语言:javascript复制
cd /application/redis/
vim redis.confg
bind 127.0.0.1—————> #bind 127.0.0.1
protected-mode yes—————> protected-mode no

重启服务

7、登陆mysql数据库进行操作,出现Too Many Connections的错误提示,如何解决?写出配置步骤

代码语言:javascript复制
vim /etc/my.cnf
max_connections = 500 #视具体情况调整值的大小
wait_timeout=5
/etc/init.d/mysqld restart

0 人点赞