linux系统层面调优和常见的面试题

无论对Spark集群,还是Hadoop集群等大数据相关的集群进行调优,对linux系统层面的调优都是必不可少的,这里主要介绍3种常用的调优:

1.linux文件句柄

linux在整个系统层面和单个进程两个层面对打开的文件句柄进行限制。

配置文件/proc/sys/fs/file-max是对整个系统层面对打开的文件句柄最大数进行控制,单个用户或进程能够打开的文件句柄数受此限制。

通过ulimit -a查看当前用户或进程能够打开的最大文件数:

上述只是默认值,在实际生产环境肯定是不够用的,如果配置过小,有时会报类似can't open so many files的错误。通过ulimit -n可以对该值进行临时修改。

如果想永久生效,需要修改配置文件/etc/security/limits.conf,如soft nofile 10000、hard nofile 10000追加到配置文件中。

 

2.单个用户最大进程数

上图中max user processes就是单个用户最大进程数的限制,通过ulimit -u可以临时修改。永久修改需要追加,如soft nproc 10000、hard nproc 10000到/etc/security/limits.conf文件中

3.swap分区

又被称为交换分区,占用的是磁盘空间。操作系统可以将一部分数据存于swap分区中,从而为当前运行的程序腾出足够的内存空间。但因为数据存于磁盘,性能会相对内存低,尤其是读写频繁的情绪,IO消耗会更大。

合理设置swap分区大小,比如设置为0,优先使用物理内存。设置方式echo vm.swappiness=0 >> /etc/sysctl.conf。

针对不同系统、用户需要修改的文件可能有所不同,比如对于普通用户最大打开进程限制配置文件/etc/security/limits.d/20-nproc.conf。

 

除了上述常见的3种调优,还有控制每个端口监听队列的最大长度等调优方式,这里不再赘述。

 

关于软限制和硬限制的补充:

上文中,soft是软限制,hard是硬限制。

软限制(soft limit):内核实际执行的限制,任何进程都可以将软限制设置为小于或等于对进程限制的硬限制的值、最大线程数和文件数。

硬限制(hard limit):可以在任何时候任何进程中设置,但硬限制需要由超级用户修改。

 

linux常见面试题

1.linux系统中获取pid为100的进程所监听的tcp端口号

netstat -npta | grep 100

 

 

2.查找/home目录下大小为10k的文件

find /home -size 10K

 

 

3.在当前目录中的Main.java中关键字keywords出现位置,并将结果追加到main.txt中find . -name Main.java | xargs grep -n "keywords" >> main.txt

【xargs将前一个命令的输出作为后一个命令的参数】

 

 

4.压缩文件夹testDir为testDir.tar.gz

tar -zcvf testDir.tar.gz  testDir/

 

 

5.解压缩文件testDir.tar.gz到路径/home/user中

tar -zxvf testDir.tar.gz -C /home/user

 

 

6.查看磁盘使用情况

df -h

 

 

7.查看内存使用情况

free -mt

 

8.改变当前路径下testDir及其下面所有文件和目录的所有者为tom,组为group-t

chown -R tom:group-t ./testDir

 

 

9.赋予testDir权限为rwxr-xr-x

chmod 755 testDir

 

 

10.查看文件app.log,从第3000行开始,显示1000行,即显示3000-3999行

cat app.log | tail -n +3000 | head -n 1000

 

 

11.查看文件app.log,显示1000行到3000行

cat app.log | head -n 3000 | tail -n +1000

 

 

12.统计当前文件夹下的app目录下,js文件数量ll ./app | grep "^-" | grep js | wc -l

^-:正则表达式,匹配文件

 

关注微信公众号:大数据学习与分享,获取更对技术干货

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


无论对Spark集群,还是Hadoop集群等大数据相关的集群进行调优,对linux系统层面的调优都是必不可少的,这里主要介绍3种常用的调优和linux常见面试题
北京朗途融通信息科技有限公司 1、用_________创建一个隐藏的共享文件夹 2、常用的三种解析计算机命的方法有______,______,______。
1.ARP的中文名称及作用? 地址解析协议将IP转化为MAC地址 2.MAC的广播地址? FF-FF-FF-FF-FF-FF
1、如何实现Nginx代理的节点访问日志记录客户的IP而不是代理的IP? 在nginx代理文件中怎加一行配置文件:proxy_set_header X-Real-IP $remote_addr;
PS:这个iptables脚本不错,很实用,根据实际应用改一下就可以自己用。分享出来,供大家来参考。
1、详述iptales工作流程以及规则过滤顺序?iptables过滤的规则顺序是由上至下,若出现相同的匹配规则则遵循由上至下的顺序 2、iptables有几个表以及每个表有几个链?Iptables有四表五链
 1. 你听说过Linux下面的iptables和Firewalld么?知不知道它们是什么,是用来干什么的?答案 : iptables和Firewalld我都知道,并且我已经使用iptables好一段时间了。iptables主要由C语言写成,并且以GNU GPL许可证发布。
下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作。
公司用bugfree在进行新建Bug指派抄送给同事的时候,总是有人不及时登录BugFree去查看指派给自己的,所以要加一个邮箱通知,这样可以及时通知到被指派的同事。
SQL常见面试题1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名name   kecheng   fenshu张三    语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文