IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux Fs内核参数调优 -> 正文阅读

[系统运维]Linux Fs内核参数调优

文件句柄默认参数与调优参数对比

--------------------------------------------------------------------------------------------------------------------------------

默认参数     

通常来说,如果机器的内存越大,file-max的分配的默认值也会越大;

fs.file-max = 174118

fs.file-nr = 174118

fs.xfs.filestream_centisecs = 3000

调优参数

fs.file-max = 1000000

fs.file-nr = 1000000

fs.xfs.filestream_centisecs = 3000

表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的. ulimit -n 控制进程级别能够打开的文件句柄的数量与此不同。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。

一般情况下,无需修改,除非有并发在50w以上,一个千万的文件打开数足够了针对系统。

--------------------------------------------------------------------------------------------------------------------------------

文件监听句柄及软硬连接默认参数与调优参数对比

默认参数

fs.protected_hardlinks=1   用于限制普通用户建立硬链接   0:不限制用户建立硬链接 1:限制,如果文件不属于用户,或者用户对此用户没有读写权限,则不能建立硬链接

fs.protected_symlinks=1   用于限制普通用户建立软链接 0:不限制用户建立软链接 1:限制,允许用户建立软连接的情况是 软连接所在目录是全局可读写目录或者软连接的uid与跟从者的uid匹配,又或者目录所有者与软连接所有者匹配

fs.may_detach_mounts=1    K8S建议有容器运行的主机必须开启此值

fs.inotify.max_user_instances= 128      inotify  是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建 , 是一个内核用于通知用户空间程序文件系统变化的机制,表示每一个real user ID可创建的inotify instatnces的数量上限。

fs.inotify.max_queued_events=16384    表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。

fs.inotify.max_user_watches=  8192  表示同一用户同时可以添加的watch数目(watch一般是针对目录,决定了同时同一用户可以监控的目录数量)

调优参数

fs.protected_hardlinks=1

fs.protected_symlinks=1

#fs.may_detach_mounts=1 centos7.9 才有

fs.inotify.max_user_instances= 8192

fs.inotify.max_queued_events= 16384

fs.inotify.max_user_watches= 524288

计算根据每一个inotify user instance大约会消耗5KB的内存,所以在内存允许的情况下可以适当增加,一般建议32G内存的系统调整扩展到fs.inotify.max_user_instances= 8192 fs.inotify.max_user_watches=524288,避免出现(Too many open files) 让人以为是fs句柄不够,其实不是,是监听数目不够

 
计算公式: fs.inotify.max_user_instances使用内存总量(bytes) = fs.inotify.max_user_instances * 5KB  = 8192 * 5*1024 =  41943040 bytes = 40MIB 

                   fs.inotify.max_user_instances使用内存总量(bytes) =  fs.inotify.max_user_instances * 5KB = 2048 * 5*1024 =  10485760 bytes = 10MIB 

64位系统:计算比例:fs.inotify.max_user_watches = fs.inotify.max_user_instances  * 64

32位系统:计算比例:fs.inotify.max_user_watches =  fs.inotify.max_user_instances * 32 

用户级别:(查找命令)

find /proc/*/fd/* -type l -lname 'anon_inode:inotify' -print 2>/dev/null | cut -d/ -f3 |xargs -I '{}' -- ps --no-headers -o '%U' -p '{}' | sort | uniq -c | sort -n

进程级:(查找命令)

find /proc/*/fd/* -type l -lname 'anon_inode:inotify' -print 2>/dev/null | cut -d/ -f3 |xargs -I '{}' -- ps --no-headers -o '%U %p %c' -p '{}' | sort | uniq -c | sort -nr




  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:53:58  更:2022-03-03 16:57:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:38:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码