linux性能优化参数小节
总结一些和性能相关的常见参数
内核相关参数
位于/etc/sysctl.conf文件,向文件中添加
用sysctl -a可以查看默认配置
修改后可以通过sysctl -p执行并看看有没有错误
例如设置错了参数:

net.core.somaxconn=65535
一个端口最大的监听TCP连接的队列长度
net.core.netdev_max_backlog=65535
数据包速率比内核处理块时 允许送到队列的数据包的最大数目
net.ipv4.tcp_max_syn_backlog=65535
TCP syn队列的最大长度 第一次握手的连接 参数过大可能也会遭受syn flood攻击
net.ipv4.tcp_fin_timeout=10
fin超时时间 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间
net.ipv4.tcp_tw_reuse=1
开启重用
net.ipv4.tcp_tw_recycle=1
快速回收
net.core.wmem_default=87380
net.core.wmem_max=16777216
net.core.rmem_default=87380
net.core.rmem_max=16777216
缓冲区的默认值和最大值
net.ipv4.tcp_keepalive_time=120
keepalive的检测时间间隔 单位为秒
net.ipv4.tcp_keepalive_intvl=30
检测无效时 重发消息间隔
net.ipv4.tcp_keepalive_probes=3
检测无效时 最多重复确认次数
kernel.shmmax=4294967295
linux内核参数中最重要的参数之一
用于定义单个共享内存段的最大值
64位linux 可取最大值为物理内存值-1byte 建议值为物理内存一半
vm.swappiness=0
free -m Swap中的内容

风险:
- 降低操作系统性能
- 在系统资源不足下,容易被OOM kill掉
设置为0是告诉系统除非虚拟内存完全满了 否则不要使用交换区
增加资源限制
位于 /etc/security/limit.conf
* soft nofile 65535
* hard nofile 65535
- * 对所有用户有效
- soft 当前系统生效的设置
- hard 系统所能设定的最大值
- nofile 打开文件的最大数目
- 65535 限制的数量
- 需要重启系统生效
设置前:

之后open files的值会提高为65535
磁盘调度策略
/sys/block/devname/queue/scheduler
查看可通过cat /sys/block/sda/queue/scheduler

现在使用的cfq 可选的是noop和deadline

用echo写入可以立即生效
简介:
noop电梯式调度策略
实现了一个FIFO队列 倾向饿死读而利于写 对闪存设备 RAM和嵌入式系统是最好的选择deadline 截止时间调度策略
确保了在一个截止时间内服务请求 这个截止时间是可调整的 而默认读期限短于写期限
对于数据库类应用是最好的选择anticipatory 预料IO调度策略
本质上和deadline一样 但在最后一次读操作后 要等待6ms 才能继续进行对其他IO请求进行调度 将一些小写入流合并成一个大写入流 用写入延迟换取最大的写入吞吐量 适合写入较多的环境 比如文件服务器 对数据库环境表现很差cfq 绝对公平算法
参考资料:
TCP/IP及内核参数优化调优
Linux IO Scheduler(Linux IO 调度器)
linux性能优化参数小节的更多相关文章
- Linux 性能优化之 IO 子系统 系列 图
http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统 ...
- 如何学习Linux性能优化?
如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...
- Linux 性能优化解析
前情概述 进程调度 老板 cpu 任劳任怨的打工仔 线程 工作在做什么 可运行队列 拥有的工作清单 上下文切换 和老板沟通以便得到老板的想法并及时调整自己的工作 中断 部分工作做完以后还需要及时向老板 ...
- 深挖计算机基础:Linux性能优化学习笔记
参考极客时间专栏<Linux性能优化实战>学习笔记 一.CPU性能:13讲 Linux性能优化实战学习笔记:第二讲 Linux性能优化实战学习笔记:第三讲 Linux性能优化实战学习笔记: ...
- Linux 性能优化排查工具
下图1为 Linux 性能优化排查工具的总结 图1 诊断 CPU 工具 查看 CPU 核数 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU ...
- Linux性能优化从入门到实战:01 Linux性能优化学习路线
我通过阅读各种相关书籍,从操作系统原理.到 Linux内核,再到硬件驱动程序等等. 把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序.库函数.系统调用.再到内核和硬件等不同的层级贯 ...
- Linux性能优化-平均负载
Linux性能优化-平均负载 目录 Linux性能优化-平均负载 平均负载的含义 平均负载为多少时合理 平均负载与 CPU 使用率 平均负载案例分析 场景一:CPU 密集型进程 场景二:I/O 密集型 ...
- linux性能优化常用命令
作为一名linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题.软件问题.网络环境等的复杂性 和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪 ...
- linux性能优化cpu 磁盘IO MEM
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...
随机推荐
- -bash: /etc/profile: line 11: syntax error near unexpected token `$'{\r''报错问题解决
在Linux系统配置Java环境变量之后执行 source /etc/profile指令报:-bash: /etc/profile: line 11: syntax error near unexpe ...
- java中的 java.util.concurrent.locks.ReentrantLock类的使用方式
实现了lock的类为:ReentrantLock 接口的方式解释: lock()方法为获取锁对象,如果未获取到锁就一直获取锁. trylock():为布尔值,返回是否获取到了锁,如果没有获取到锁则返回 ...
- get windows auth code
public static WindowsIdentityInfo GetWindowsIdentityInfo(HttpContext context) { WindowsIdentityInfo ...
- CSS绝对定位的原点:是在border上、padding上还是在content上?
用了那么久的绝对定位,却一直没在意一个问题,就是绝对定位的原点,究竟是在盒模型的哪一处.今天想到这个问题,直接搜索没有找到标准文档,也没有搜索到相关的问题,于是决定自己动手实现一下看看,并把这个结果发 ...
- C#数据同步中基本步骤和用到的相关函数
C#数据同步中基本步骤和用到的相关函数 数据同步对比步骤: 1.将两数据库中对应的数据表分别生成XML文件 /// <summary> /// 将一个DataTable以xml方式存入指定 ...
- Scrum冲刺阶段3
成员今日完成的任务 人员 任务 何承华 美化主界面 陈宇 后端设计 丁培辉 美化主界面 温志铭 主页面的设计 杨宇潇 主页面的设计 张主强 服务器构建 成员遇到的问题 人员 问题 何承华 主页面美化意 ...
- 【Selenium】【BugList10】smtp发送邮件问题汇总:550/535/554
[场景] 通过126邮箱向QQ邮箱发送HTML格式邮件 [代码1] from email.mime.text import MIMEText from email.header import Head ...
- python (创建虚拟环境)
Python python 介绍 Python是一门计算机编程语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的 ...
- P3806 【模板】点分治1
一道淀粉质的模版题,开始是暴力 #include <bits/stdc++.h> #define up(i,l,r) for(register int i = (l); i <= ( ...
- shell脚本学习-文件包含
跟着RUNOOB网站的教程学习的笔记 和其他语言一样,shell也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件.shell文件包含的语法有两种形式 . filename # ...