linux面试题(重点)
1、No space left on device ,但df -h,磁盘空间还很富余?
原因是 Inode 耗尽。可以使用df -i检查。磁盘中中产生了很多小的临时文件,造成在磁盘空间耗尽之前文件系统的 Inode 就被用光了。
2、CentOS服务器,负载正常,但请求大量超时,服务器/应用访问日志看不到相关请求记录。在dmesg
或/var/log/messages
看到记录:kernel: nf_conntrack: table full, dropping packet.什么原因,怎么解决?
原因是服务器访问请求量大,内核netfilter模块conntrack相关参数配置不合理,导致新连接被drop掉。
解决:
1、增加nf_conntrack_max参数大小
2、禁用一些不用跟踪的连接状态,在iptables
设置NOTRACK
规则,减少要跟踪的连接数
3、禁用模块ip_vs nf_connect
查看系统默认最大连接数
[root@localhost] ~$ cat /proc/sys/net/netfilter/nf_conntrack_max
31248
查看当年连接数
[root@localhost] ~$ cat /proc/sys/net/netfilter/nf_conntrack_count
6
设置最大连接数
sudo sysctl -w net.netfilter.nf_conntrack_max=1048576
suod sysctl -w net.nf_conntrack_max=1048576
3、随机生成32位密码
cat /dev/urandom | head -1| md5sum | head -c 32
4、抓取100行http包
tcpdump -XvvennSs 0 -i eth0 -c 100 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 -w http.cap
5、mysql一主多从,主库宕机,怎么合理切换到从库?
6、如何将本机80端口的请求转发到远程机器192.168.16.23的8090端口,本机ip192.168.16.20,网卡eth0
# iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080
或者# iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
7、官方镜像安装的centos系统可以做哪些初始化优化?(至少5项)
1.修改yum
2.设置ntp,dns selinux
3.内核参数优化
4,配置ssh
5,关闭不需要的服务
8、写一个脚本,去除nginx日志中出现ip最多的前5名
awk ‘{print $1}’ |sort|uniq -c|sort -nr|head -5
9、linux中/proc文件系统有什么用?
基于内存的文件系统,保存着当前内核的状态信息,如cpu,内存,进程等,这个文件系统并不是实际存储信息的文件,指向的是内存中的信息
10、七层协议作用,对应协议?