博客
关于我
linux系统层面调优和常见的面试题
阅读量:408 次
发布时间:2019-03-06

本文共 1524 字,大约阅读时间需要 5 分钟。

Linux系统调优指南

在Spark集群、Hadoop集群等大数据环境中进行调优时,Linux系统层面的优化同样不可或缺。以下是三种常见的系统调优方法。

1. 文件句柄配置

Linux系统在两个层面对文件句柄进行限制:系统层面和进程层面。

  • 系统层面:通过修改/proc/sys/fs/file-max来配置系统能够打开的最大文件数。
  • 进程层面:单个用户或进程能够打开的文件数受限制,可以通过ulimit -a查看当前限制值。

在生产环境中,默认值通常不足以满足需求。可以通过ulimit -n临时修改文件句柄的最大数目。若需要永久生效,需在/etc/security/limits.conf中追加配置,如soft nofile 10000hard nofile 10000

2. 单个用户最大进程数

max user processes限制了单个用户能够启动的进程数。通过ulimit -u可以临时更改此值。若需要永久生效,需在/etc/security/limits.conf中追加配置,如soft nproc 10000hard nproc 10000

3. swap分区配置

swap分区(交换分区)用于将部分数据临时存储在磁盘,以释放内存空间。设置swap分区时,可以优先使用物理内存,避免频繁磁盘IO操作。建议通过echo vm.swappiness=0 >> /etc/sysctl.conf禁用swap分区,以提高性能。

常见面试题解答

1. 查看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

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行至第4000行

命令如下:

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

^-表示匹配文件,grep js表示匹配.js文件,wc -l表示统计数量。

关注我们

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

转载地址:http://rnvkz.baihongyu.com/

你可能感兴趣的文章
pyinstaller:更改应用程序图标
查看>>
Pylint“未解决的导入“;Visual Studio 代码中的错误
查看>>
pyLoad远程代码执行漏洞复现(CVE-2023-0297)
查看>>
pymongo update_one(),upsert=True,不使用$运算符
查看>>
pymongo 中的快速或批量更新
查看>>
pymongo删除操作
查看>>
PyMongo按多个关键点分组
查看>>
Pympress:强大的双屏PDF阅读器
查看>>
pymysql.err.InternalError: (1054, "Unknown column '27D24A3B' in 'where clause'")之错误解决
查看>>
pymysql.err.OperationalError: (1364, “Field ‘id‘ doesn‘t have a default value“)
查看>>
PyMySQL库对Mysql数据库进行增删改查与工具类封装
查看>>
pynput的基本介绍和使用
查看>>
pyodbc 通过 IIS7 连接到 MSSQL 2005 服务器
查看>>
PyPI 存储库中的 JarkaStealer:深入解析与防范措施
查看>>
Pyplot tutorial,Pyplot官方教程自翻译
查看>>
PyQ5学习笔记——使用内部槽函数关闭窗口
查看>>
PyQ5学习笔记——使用自定义槽函数关闭窗口
查看>>
PyQt MimeData 文件名
查看>>
PyQt QML Material Design 按钮背景不会改变
查看>>
PyQt QString转成python stirng
查看>>