linux内核参数的程序,技巧-Linux内核参数调整办法
ulimit设置
ulimit -n 要调整为100000甚至更大。 命令行下执行 ulimit -n 100000即可修改。如果不能修改,需要设置 /etc/security/limits.conf,加入
* soft nofile 262140
* hard nofile 262140
root soft nofile 262140
root hard nofile 262140
* soft core unlimited
* hard core unlimited
root soft core unlimited
root hard core unlimited
内核设置
net.unix.max_dgram_qlen = 100
swoole使用unix socket dgram来做进程间通信,如果请求量很大,需要调整此参数。系统默认为10,可以设置为100或者更大。
或者增加worker进程的数量,减少单个worker进程分配的请求量。
net.core.wmem_max
修改此参数增加socket缓存区的内存大小
net.ipv4.tcp_mem = 379008 505344 758016
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_rmem = 4096 87380 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_tw_reuse
是否socket reuse,此函数的作用是Server重启时可以快速重新使用监听的端口。如果没有设置此参数,会导致server重启时发生端口未及时释放而启动失败
net.ipv4.tcp_tw_recycle
使用socket快速回收,短连接Server需要开启此参数
消息队列设置
当使用消息队列作为进程间通信方式时,需要调整此内核参数
kernel.msgmnb = 4203520,消息队列的最大字节数
kernel.msgmni = 64,最多允许创建多少个消息队列
kernel.msgmax = 8192,消息队列单条数据最大的长度
FreeBSD/MacOS
sysctl -w net.local.dgram.maxdgram=8192
sysctl -w net.local.dgram.recvspace=200000 修改Unix Socket的buffer区尺寸
开启CoreDump
设置内核参数
kernel.core_pattern = /data/core_files/core-%e-%p-%t
通过ulimit -c命令查看当前coredump文件的限制
ulimit -c
如果为0,需要修改/etc/security/limits.conf,进行limit设置。
开启core-dump后,一旦程序发生异常,会将进程导出到文件。对于调查程序问题有很大的帮助
其他重要配置,以下是兄弟连www.lampbrother.net方法演示:
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_max_syn_backlog=81920
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_syn_retries=3
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 20000 65000
net.ipv4.tcp_max_tw_buckets = 200000
net.ipv4.route.max_size = 5242880
查看配置是否生效
如:修改net.unix.max_dgram_qlen = 100后,通过
cat /proc/sys/net/unix/max_dgram_qlen
兄弟连Linux培训提示您:如果修改成功,这里就是新设置的值啦。
人打赏
0人 点赞
主帖获得的天涯分:0
举报 |
楼主
|
楼主发言:1次 发图:0张 | 添加到话题 |
linux内核参数的程序,技巧-Linux内核参数调整办法相关推荐
- Linux从头开始学--学习笔记9知识点补充-ubuntu,centos;在linux上创建c程序;linux基础命令,shell命令,vi命令,man帮助手册
这是我从头开始学习Linux的学习笔记,后续还会更新. 记录自己的技术成长,也希望和大家分享交流,欢迎关注~ 本笔记为coursera网站课程<Linux for Developers>的 ...
- linux 带ifdef运行程序_如何让linux的一段程序代码进入内核态运行
展开全部 Linux内核的最初部分代码是用汇编语言写的(文件是boot/bootsect.s).(我的汇编水平有限,暂且不看),636f707962616964757a686964616f313333 ...
- linux u盘更新程序,嵌入式linux下插u盘自动更新的设计
一.内核配置,配置使其支持u盘 make menu_config Device Drivers ---> [*]USB support --> USB Mass Storage suppo ...
- linux下串口通信程序,关于Linux下串口通信的一点心得
1. 打开串口 与其他的关于设备编程的方法一样,在 Linux 下,操作.控制串口也是通过操作起设备文件进行的.在 Linux 下,串口的设备文件是 /dev/ttyS0 或 /dev/ttyS1 等 ...
- linux下怎么查看程序异常,linux程序莫名异常怎么查
内存异常经常导致程序出现莫名其妙的错误,往往很难查证,本文介绍在linux下的各种常见内存异常的查证工具和方法. 1 访问空指针/未初始化指针/重复释放内存 对于像访问空指针.未初始化指针(非法地址) ...
- linux怎么卸载桌面程序吗,Linux下怎么卸载软件
Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的"添加/删除程序"来实现.与其相类似,在Linux下有一 ...
- linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?
我的猜测是这是64位系统上的32位编译.我使用gcc上的-m32选项将一个小的c文件交叉编译成二进制文件.这还需要一些额外的包.结果a.out看起来像这样. % file a.out a.out: E ...
- Linux系统运行Windows程序(Linux执行windows程序)
dpkg --add-architecture i386 && apt-get update && apt-get install wine32 需要安装32位wine ...
- linux命令和应用程序,在Linux中开发C应用程序时的重要且方便的工具和命令
您将需要熟悉linux命令行工具.特别是: >学习一个好的编辑器,如vim或emacs >使用make编写构建脚本 >使用gcc编译 >使用gdb进行调试 >源代码控制: ...
最新文章
- php查询mysql放到数组中_php查询mysql数据库并将结果保存到数组的方法
- springboot默认数据源如何设置连接数_spring boot基于DRUID数据源密码加密及数据源监控实现...
- .net System.Web.Caching.Cache缓存类使用详解(转载)
- 深入浅出Java复用类【从字节码角度看toString调用机制、对象代理、组合与继承、转型、final、初始化】
- C#通过COM组件操作IE浏览器(二):使用IHTMLDocument3完成登录
- 四针手表指的是什么_1000~1500元的男士手表推荐
- c++抛出异常与栈展开(stack unwinding)
- RabbitMQ知多少
- C语言试题七十六之请编写函实现百钱买百鸡
- idea下拉项目_推荐几款非常好用的IDEA插件(香)
- java map 内存可见性_JMM(一):初识Java内存模型
- CSS学习总结3:CSS定位
- awakeFromNib 与 viewDIdLoad 自己小结
- SQL2008如何建立数据库
- workFlow学习总结---------------------常用的工作流引擎
- 用html5画卡通人物源代码,用canvas画一个卡通人物!!
- easyconnect(mac版)总是初始化问题
- 相对传统桌面设计器,在线报表设计器价值何在?
- java pem 签名_如何在Java中验证PEM格式证书
- jquery 自动触发 标签的click()方法
热门文章
- python购物记录程序_python ATM购物程序
- 存储过程能用if not exist_C++核心准则T.48:如果不能用概念,用enable_if
- 方钢管弹性模量计算方式_弹性模量的物理学本质
- KDD 2021 | 一种使用真负样本的在线延迟反馈建模
- nrf51822-广播模式
- 用js写出水仙花数,JS 水仙花数
- HFSS怎样在波导中显示多个模式
- uilabel 自行撑开高度_UILabel文本高度计算的那些事儿
- windows系统修改cmd窗口编码格式
- 深度使用魅族16T后的评价(本人魅友,绝对客观公正,不要盲目的为手机厂商辩护,想想从当初到现在,魅族正在一步步背离自己的信仰,有问题,解决问题才能有更好的发展)