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
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...
随机推荐
- python 练习4
题目为信用卡消费管理系统: 主程序:main.py #!usr/bin/env python # encoding: utf-8 import conf,sys,time,re,os import j ...
- Mysql常用命令 详细整理版
Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database na ...
- PostgreSQL 数据库备份
--CMD管理员进入 --进入目录: C:\Program Files\PostgreSQL\9.6\bin --备份: pg_dump -U postgres MP > C:\mptest.b ...
- 利用insertd查出更新记录
DROP TABLE #tableCREATE TABLE #table(CompanyID VARCHAR(20),BillNo VARCHAR(40))UPDATE dbo.SD_Inv_Move ...
- mysql 数据库链接 过期产品
注意下面的"@" 必须要加的!否则会报错! $link = @mysql_connect('localhost','root','root') or die("link ...
- JSON.parse()——Uncaught SyntaxError: Unexpected token \ in JSON at position 1
背景:项目安全处理方面之一 ——对特殊字符进行编解码(后端编码,前端解码) 特殊字符: " %22 \ %5C / %2F & %26 % %25 ' ...
- poj3660 cow contest
这题主要是传递闭包 题意: n头牛,m次测试,假设a牛赢过b牛,那么说明a牛的能力比b牛强,问你根据输入的m次测试结果,最多能确定多少条牛的排名 大题的思路: 对于 k 牛,比他强的有x头牛,比他弱的 ...
- 在Ubuntu16上安装mininet和floodlight过程,超全篇
第一歩:更改root密码 第二歩:更新源 sudo apt-get update.sudo apt-get upgrade 第三步:安装git sudo apt install g ...
- TFIDF<细读>
概念 TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术.TF-IDF是一种统计方法,用以评估一字词对于一个文 ...
- 一、Java和JavaScript
JavaScript诞生于1995年,所以他得叫我一声姐姐,(*^__^*) .当时它的主要任务就是表单验证,在还没JavaScript的时候,进行表单验证的时候必须要把数据提交到服务器,才能进行表单 ...