linux 运维面试题

大兔子大兔子 提交于 2019-12-18 02:16:38
  1. tomcat的内存溢出是由什么导致?

解:1.OutOfMemoryError Java heap space
  2.OutOfMemoryError PermGen space
  3.OutOfMemoryError unable to create new native thread.

 Tomcat内存溢出解决方案
  对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm参数来解决。(-Xms -Xmx -XXPermSize -XXMaxPermSize
  最后一种可能需要调整操作系统和tomcat jvm参数同时调整才能达到目的。

 第一种:是堆溢出。

但堆的大小受下面三方面影响:
  1.相关操作系统的数据模型(32-bt还是64-bit)限制;(32位系统下,一般限制在1.5G~2G;我在2003 server 系统下(物理内存:4G6Gjdk1.6)测试 1612M64位操作系统对内存无限制。)
  2.系统的可用虚拟内存限制;
  3.系统的可用物理内存限制。

其初始空间(-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可

解决办法:服务器为64位、2G内存: JAVA_OPTS='-server -Xms1024m -Xmx1536m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

第二种:永久保存区域溢出

-XXPermSize 永久保存区域初始大小
  -XXPermSize 永久保存区域初始最大值
  这一般结合第一条使用,比如 set JAVA_OPTS= -Xms1024m -Xmx1024m -XXPermSize=128M -XXPermSize=256M

第三种:无法创建新的线程。
  这种现象比较少见,也比较奇怪,主要是和jvm与系统内存的比例有关。

MaxProcessMemory - JVMMemory - ReservedOsMemory / ThreadStackSize = Number of threads

减少jvm 的内存了

  1. 设置swap分区
  1. free  -m 查看交换分区
  2. dd of=/dev/zero if=/var/swap bs=1024 count=2048000
  3. mkswap  -f  /var/swap(创建交换分区)
  4. swapon   /var/swap(激活)
  5. 避免重启丢失数据 把交换分区加入/etc/fstab 在最后添加一句: /var/swap swap swap defaults 0 0
  6. Free –m 查看
  1. 查找/data被修改的3天以前的文件,并复制到/tmp/3d 目录下

Find  /data –mtime -3 –type f –exec cp –f /tmp/3d {} \;

Find /data –mtime -3 –type f | xargs cp –f /tmp/3d

  1. 要求访问nginx分析日志,找出访问数量前十位的ip

Awk {print$1} access.log | sort |uniq –c | sort –nr | head

  1. 分析以下的配置文件是干啥?

/var/log/messages 内核消息及各种应用程序的公共日志。包括启动、I/O、网络安全、程序故障。

/var/log/secure  用户认证相关的安全时间信息

/var/spool/clientmqueue 系统中用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件的形式或发给cron的用户。而sendmail没有启动就会产生这些文件。

解决办法:cd 到那个目录,ls |xargs rm –f

/proc/interrupts  列出当前所有系统注册的中断号,中断发生次数,中断设备名称。

/etc/fastb  开机自动挂载的文件

/etc/profile 修改环境变量,在这里修改的内容是对所有用户起作用的

  1. nginx 常用模块及功能

Nginx模块

功能

http_stub_status_module

用来显示当前服务器连接请求状态信息

http_random_index_module

客户端发来请求时,在页面目录中随机选择一个主页面返回给用户

http_sub_module

实现对客户端请求资源内容的替换功能

http_access_module

可以通过匹配客户端源ip地址进行限制

http_auth-basic_module

状态页,使用basic机制进行用户认证

http_gzip_module

文件的压缩功能

http_referer_module

防盗链功能,基于访问功能

http_rewirte_module

重定向模块,解析和处理rewrite

http_gzip_static_module

静态压缩模块

  1. tomcat的默认开启端口及作用

18005 ——————这个端口负责监听关闭tomcat的请求

28009——————与其他http服务器通信接口,用于http服务器集合

38080——————建立http连接用

8. tcpdump 嗅探80端口的访问看看谁最高

Tcpdump –i eth0 –tnn dst port 80 –c 1000 | awk –F .”‘{print $1.$2.$3.$4}|sort |uniq –c | sort –nr |head  -20

9.查看http并发请求数及tcp连接状态

Netstat –n | awk /^tcp/ {++s[$NF]} END{for (a in S) print a,S[a]}

10.每天晚上0点,在/var/www/html 目录下打包,并备份到/data/目录下(时间是不一样的)

0 0 *  *  * tar czvf  /data/html.$(data +%F)  /var/www/html/

10.nginx防盗链怎么做?

配置说明:

valid_referers                设置信任网站

none                      浏览器中referer为空的情况,就直接在浏览器访问图片

blocked                           referrer不为空的情况,但是值被代理或防火墙删除了,这些值不以http://                                          或https://开头

location ~* \.(jpg|gif|png|swf)$ {

valid_referers none blocked *.amber.com amber.com;

if ($invalid_referer) {

           rewrite ^/http://www.amber.com/error.jpg;

           #return 403;

           }

}

           如果连接的来源不是*.amber.comamber.com的域(不区分大小写),则强制跳转到http://www.amber.com/error.jpg,若不设置错误页面,可以返回403报错

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!