linux系统层面调优和常见的面试题​mp.weixin.qq.com

无论对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

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

阅读原文

linux修改文件句柄数生效_linux系统层面调优和常见的面试题相关推荐

  1. linux修改文件句柄数生效_linux修改句柄数

    linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查询linux相关的参数,如下所示: [ ...

  2. linux修改文件句柄数生效_linux设置打开文件句柄数

    介绍 在Linux下有时会遇到Socket/File : Can't open so many files的问题.其实Linux是有文件句柄限制的,而且Linux默认一般都是1024(阿里云主机默认是 ...

  3. linux修改文件句柄数生效_Linux 修改最大文件句柄数

    1,临时生效 # ulimit -SHn 10000 其实ulimit 命令身是分软限制和硬限制,加-H就是硬限制,加-S就是软限制.默认显示的是软限制,如果运行ulimit 命令修改时没有加上-H或 ...

  4. linux修改文件句柄数生效_修改Linux的open files参数是,立即生效,无需重启

    通过命令ulimit -a查看的open files参数的修改: core file size          (blocks, -c) 0 data seg size           (kby ...

  5. Linux修改文件句柄数

    1 修改文件句柄数 1.1 查看当前大小 ulimit -a  1.2 临时修改 ulimit -n 4096 1.3 永久修改 vim /etc/security/limits.conf 注:需要使 ...

  6. Linux修改文件句柄数与vm.max_map_count参数

    1.修改文件句柄数 1.1.查看当前大小 ulimit -a 1.2.临时修改 ulimit -n 4096 1.3.永久修改 vim /etc/security/limits.conf * soft ...

  7. linux 修改文件句柄数限制

    打开文件句柄数是有限制的,可以通过 sysctl fs.nr_open 命令查看最大值,sysctl 是加在内核参数的命令 一般容器为 mcs 的修改是不能大于这个值的,要不然修改了可能就坏掉:只能直 ...

  8. db文件 linux查看工具,Linux最大文件句柄数查看及修改

    Linux最大文件句柄数查看及修改 在linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查 ...

  9. 修改linux最大文件句柄数

    大家知道在linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查询linux相关的参数,如下 ...

最新文章

  1. 线上出现死锁怎么解决?
  2. ToString 的几个思考
  3. GPU profile优化
  4. 统计学最全脑图,你只管打开它,剩下的交给「卧槽」
  5. URAL 1682 Crazy Professor (并查集)
  6. 【福利】周志华教授专著《集成学习:基础与算法》上市,豆瓣满分森林书破解AI实践难题...
  7. 详解TCP和UDP数据段的首部格式
  8. Node.js:借助formidable文件上传
  9. DOM操作style样式——link、style、p style=''的区别
  10. 免费ebook 好东东!一起分享
  11. 技术内参 | 神策分析架构演进:“变”与“不变” 中的思索与创新
  12. Windows Server AppFabric安装教程
  13. linux默认的分区是fat,linux下开机自动挂载FAT分区
  14. splice,splite,slice的区别
  15. 经典算法研究系列:八、再谈启发式搜索算法
  16. 分享120个ASP源码,总有一款适合您
  17. JavaWeb --MYSql(MySql基础,MySql高级,JDBC,从类路径下加载输入流对象)
  18. CPU占用率过高的原因和后果
  19. 增加mysql表一个字段+注释
  20. 布袋除尘器过滤风速多少_布袋除尘器过滤风速一般多大

热门文章

  1. Maven笔记——maven下载与配置
  2. 【转】ABP源码分析二:ABP中配置的注册和初始化
  3. 【转】MVVM大比拼小结
  4. UI设计工具比较:Sketch、Adobe XD、墨刀、Mockplus、Axure RP
  5. ABP入门系列(8)——Json格式化
  6. java Integer 源码学习
  7. C语言实现AES加解密算法
  8. springboot超详细教程_超详细便当袋教程 || 特殊时期,自己带饭最安心!
  9. 【牛客 - 373C】抓捕盗窃犯(连通图,思维,dfs 或 并查集)
  10. *【POJ - 3061】 Subsequence (尺取或二分)