Linux作为一个强大的操作系统,提供了一系列内核参数供我们进行调优。光TCP的调优参数就有50多个。在和线上问题斗智斗勇的过程中,笔者积累了一些在内网环境应该进行调优的参数。...调优清单 好了,在这里先列出调优清单。请记住,这里只是笔者在内网进行TCP内核参数调优的经验,仅供参考。同时,笔者还会在余下的博客里面详细解释了为什么要进行这些调优!...所以我们要调大Backlog队列!...即在tcp_timestamps开启(Linux默认开启),tcp_tw_recycle会经常导致下面这种现象。 ?...Linux 新版本 /* TCP initial congestion window */ #define TCP_INIT_CWND 10 总结 Linux提供了一大堆内参参数供我们进行调优,其默认设置的参数在很多情况下并不是最佳实践
Linux作为一个强大的操作系统,提供了一系列内核参数供我们进行调优。光TCP的调优参数就有50多个。在和线上问题斗智斗勇的过程中,笔者积累了一些在内网环境应该进行调优的参数。...调优清单 好了,在这里先列出调优清单。请记住,这里只是笔者在内网进行TCP内核参数调优的经验,仅供参考。同时,笔者还会在余下的博客里面详细解释了为什么要进行这些调优!...所以我们要调大Backlog队列!...即在tcp_timestamps开启(Linux默认开启),tcp_tw_recycle会经常导致下面这种现象。...Linux 新版本 /* TCP initial congestion window */ #define TCP_INIT_CWND 10
Linux系统下,TCP连接断开后,会以 TIME_WAIT 状态保留一定时间,然后才释放端口。...这时,有必要调整下Linux的TCP内核参数,让系统更快的释放TIME_WAIT连接。...允许将TIME-WAITsockets重用于新的TCP连接,默认0,表示关闭; net.ipv4.tcp_tw_recycle= 1 #开启TCP连接中TIME-WAITsockets的快速回收,默认0...#net.ipv4.tcp_tw_len= 1 net.ipv4.tcp_tw_reuse= 1 #开启重用。允许将TIME-WAITsockets重用于新TCP连接。...#同样有3个值,意思是: #net.ipv4.tcp_mem[0]:低于此值,TCP无内存压力。
概要: linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。
写在前面 考试整理相关笔记 博文内容涉及Linux VM 常见管理操作以及部分调优配置 理解不足小伙伴帮忙指正 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了...——村上春树 使用工具进行调优 可以直接使用 tuned 包里面的适用于虚拟化调优的参数,tuned 中对于虚拟化通过两个优化配置,一个适用虚拟机,一个适用虚拟机所在的宿主机。...┌──[root@liruilongs.github.io]-[~] └─$ 可以通过/sys/kerel/mm/ksm/目录下的参数,设置调优参数: ┌──[root@liruilongs.github.io...liruilongs.github.io]-[~] └─$cat /sys/kernel/mm/ksm/sleep_millisecs 30 ┌──[root@liruilongs.github.io]-[~] └─$ 虚拟磁盘配置调优...xml | grep driver 虚拟机磁盘 IO 调优
= 6000 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096...4096(4K) net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_mem[0]:低于此值,TCP 没有内存压力。...net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段。net.ipv4.tcp_mem[2]:高 于此值,TCP 拒绝分配 socket。...65536 指定内核中消息队列中消息的最大值(msgmax=64k) kernel.shmmax = 68719476736 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,64 位 linux...Linux 共享内存页大小为 4KB,共享内存段的大小都是共享内存页大小的整数倍。
为了让系统能够支持更大的并发,除了必须安装event扩展之外,优化linux内核也是重中之重,以下优化每一项都非常非常重要,请务必按逐一完成。...: cat /proc/sys/fs/file-max打开文件 /etc/sysctl.conf,增加以下设置#该参数设置系统的TIME_WAIT的数量,如果超过默认值则会被立即清除net.ipv4.tcp_max_tw_buckets...Linux从4.12内核开始移除了 tcp_tw_recycle 配置,如果报错"No such file or directory"请忽略net.ipv4.tcp_tw_recycle = 0#系统所有进程一共可以打开的文件数量...Soft open files 是Linux系统参数,影响系统单个进程能够打开最大的文件句柄数量,这个值会影响到长连接应用如聊天中单个进程能够维持的用户连接数, 运行ulimit -n能看到这个参数值,...如果开启4个进程维持用户连接,那么整个应用能够同时维持的连接数不会超过4*1024个,也就是说最多只能支持4x1024个用户在线可以增大这个设置以便服务能够维持更多的TCP连接。
前两天看到一群里在讨论 Tomcat 参数调优,看到不止一个人说通过 accept-count 来配置线程池大小,我笑了笑,看来其实很多人并不太了解我们用的最多的 WebServer Tomcat,这篇文章就来聊下...Tomcat 调优,重点介绍下线程池调优及 TCP 半连接、全连接队列调优。...线程池调优就说这些吧,下面主要介绍下 Tcp backlog 及半连接、全连接队列相关内容。...,首先简单讲了下 Tomcat 线程池调优。...,以及队列溢出怎么排查,这些东西也是我们服务端开发需要掌握的,在性能调优,问题排查时会有一定的帮助。
写在前面 考试整理相关笔记 博文内容涉及,文件系统常见调优手段 不同文件系统格式适用场景分析,格式化选项,挂载日志策略调整 文件系统日志和数据分离配置 fstrim 空间回收 理解不足小伙伴帮忙指正...ext4 (第四扩展文件系统): ext4 是Linux上最常用的文件系统之一,是对ext3文件系统的改进。它支持大文件和大容量分区,并提供更好的性能和可靠性。
写在前面 考试整理相关笔记 博文内容涉及,IO调度器,以及IO负载工具 fio 介绍,磁盘整列,IO 分析工具简单介绍,没有涉及具体的调优场景 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个...mq-deadline] kyber bfq ┌──[root@liruilongs.github.io]-[~] └─$ 调度器分类: Noop/none Noop(none是多队列版本的Noop) 调度算法是 Linux...Deadline算法(业务压力重,功能单一的场景) deadline是单队列,mq(multi-queue)是多队列,核心算法是一样的 CFQ(Completely Fair Queuing) CFQ 是 Linux...容错能力:可以容忍多个磁盘故障,具体取决于故障发生在哪个镜像组上 创建软RAID mdadm 是一个用于管理 Linux 软件 RAID 的工具。...o(--only)仅显示当前执行I/O操作的进程和线程信息 -P(--processes)显示进程信息 -a显示启动iotop命令开始的总的I/O数据信息 Blktrace Blktrace是一个针对Linux
关于调优的建议: 1、出错时,可以查看操作系统日志,可能会找到一些有用的信息 2、尽量不要“批量”修改内核参数,笔者就曾这么干过,结果“调优”后,性能反而下降,事务出错数反而增加,所以,调优的时候可以考虑逐个参数进行调优...=4096 16384 4194304 为自动调优定义socket使用的内存.第一个值是为socket发送缓冲区分配的最少字节数;第二个值是默认值(该值会被wmem_default覆盖),缓冲区在系统负载不重的情况下可以增长到这个值...;第三个值是发送缓冲区空间的最大字节数(该值会被wmem_max覆盖) net.ipv4.tcp_rmem=4096 87380 4194304 为自动调优定义socket使用的内存.第一个值是为...5,尽早释放内核资源 net.ipv4.tcp_keepalive_time=7200 net.ipv4.tcp_keepalive_probes=9 net.ipv4.tcp_keepalive_intvl...参考值如下: net.ipv4.tcp_keepalive_time=1800 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=
为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。...磁盘子系统的调优 对于Linux的Ext3/4来说,几乎在所有情况下都有所帮助的一个参数是关闭文件系统访问时间,在/etc/fstab下看看你的文件系统 有没有noatime参数.atime 是最近访问文件的时间...网络调优 tcp连接保持管理: 如果在该参数指定时间内某条连接处于空闲状态,则内核向远程主机发起探测 1 net.ipv4.tcp_keepalive_time = 7200 内核向远程主机发送的保活探测的时间间隔...内存子系统的调优不是很容易,需要不停地监测来保证内存的改变不会对服务器的其他子系统造成负面影响。...系统与性能监控 http://kerrigan.sinaapp.com/post-7.html 性能调优攻略 http://coolshell.cn/articles/7490.html Linux系统下的
网络参数:网络性能是Linux系统中的另一个关键因素,可以通过以下参数进行优化: net.core.somaxconn:设置TCP半连接队列的最大长度,建议设置为1024或更高。...这里附上一个调优的脚本,我来简单翻译一下: 地址: https://github.com/nyist-mirror/kernel_tuning # !...自动调优TCP缓冲区限制 Echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_rmem Echo "4096 87380 16777216" > /proc...sys/net/ipv6/conf/all/disable_ipv6 Echo "1" > /proc/sys/net/ipv6/conf/default/disable_ipv6 # ####文件系统调优...http://www.cyberciti.biz/faq/linux-tcp-tuning/ https://www.frozentux.net/ipsysctl-tutorial/ipsysctl-tutorial.html
写在前面 整理一些Linux用电功耗调优的笔记,分享给小伙伴,关于用电调优个人觉得: 最好使用powertop这样的专业工具来搞 或者使用Linux自带的调优策略来 建议针对某些策略进行调优要做好评估...tuned调优 使用节源工具powertop自动调优 食用方式 需了解Linux基础知识 「 我以为爱情可以填满人生的遗憾,然而,制造更多遗憾的却偏偏是爱情」 ---- 我的Linux内核版本 ┌──[...下面我们我们看一些可以在在Linux系统上实现这些策略的一些方法。...节能调优配置文件 RHEL7/8的调优服务tuned:提供了大量预设的调优方案,旨在于简化调优的实施,充分利用系统资源与能效。...管理员可以针对不同的业务选择不同的优化策略,节能的调优可以使用powersave策略 ┌──[root@liruilongs.github.io]-[/sys/class/scsi_host/host0
* hard nproc 10000 #重新打开session就可以生效 修改sysctl.conf文件 vim /etc/sysctl.conf #新增下面几行 net.ipv4.tcp_max_syn_backlog
ulimit -a 来查看所有限制值 应用实例: 在Linux下写程序的时候,如果程序比较大,经常会遇到“段错误” (segmentation fault)这样的问题主要就是由于Linux系统初始的堆栈大小...如果要系统自动记住这个配置,就编辑/etc/profile文件,在 “ulimit -S -c 0 > /dev/null 2>&1”行下,添加“ulimit -s 262140”,保存重启系统就可以了 Linux...为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个: ulimit -u 10000 对于需要做许多 socket 连接并使它们处于打开状态的...打开文件的最大数目 对于需要做许多套接字连接并使它们处于打开状态的应用程序而言,最好通过使用 ulimit –n,或者通过设置nofile 参数,为用户把文件描述符的数量设置得比默认值高一些 参考推荐: linux...ulimit调优 通过ulimit改善系统性能 poor man's profiler
net.core.somaxconn = 100000 #Linux kernel参数,表示socket监听的backlog(监听队列)上限 net.core.wmem_default = 11059200...net.ipv4.tcp_ecn = 0 #把TCP的直接拥塞通告(tcp_ecn)关掉 net.ipv4.tcp_sack = 1 #关闭tcp_sack #启用有选择的应答(Selective Acknowledgment...net.ipv4.tcp_rmem #与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值。...net.ipv4.tcp_wmem = 30000000 30000000 30000000 #为自动调优定义每个 socket 使用的内存。...#在充当网关的linux主机上缺省值为1,在一般的linux主机上缺省值为0。 #从安全性角度出发,建议你关闭该功能。
Linux性能调优那些事儿 01 一、前提 我们可以在文章的开始就列出一个列表,列出可能影响Linux操作系统性能的一些调优参数,但这样做其实并没有什么价值。...因为性能调优是一个非常困难的任务,它要求对硬件、操作系统、和应用都有着相当深入的了解。...如果性能调优非常简单的话,那些我们要列出的调优参数早就写入硬件的微码或者操作系统中了,我们就没有必要再继续读这篇文章了。正如下图所示,服务器的性能受到很多因素的影响。 ?...如果想要理解Linux系统内存的调优,我们必须了解Linux的虚拟内存机制。应用程序并不分配物理内存,而是向Linux内核请求一部分映射为虚拟内存的内存空间。...在今天很多驱动程序默认没有启用NAPI,这就为我们调优网络子系统的性能提供了更广阔的空间。 07 七、理解Linux调优参数 因为Linux是一个开源操作系统,所以又大量可用的性能监测工具。
为了让系统能够支持更大的并发,除了必须安装event扩展之外,优化linux内核也是重中之重。 # Linux内核调优 参数解释: max-file: 表示系统级别的能够打开的文件句柄的数量。...cat /proc/sys/fs/file-max 打开文件 /etc/sysctl.conf,增加以下设置 #该参数设置系统的TIME_WAIT的数量,如果超过默认值则会被立即清除 net.ipv4.tcp_max_tw_buckets...Linux从4.12内核开始移除了 tcp_tw_recycle 配置,如果报错"No such file or directory"请忽略 net.ipv4.tcp_tw_recycle = 0 #系统所有进程一共可以打开的文件数量...Soft open files 是Linux系统参数,影响系统单个进程能够打开最大的文件句柄数量,这个值会影响到长连接应用如聊天中单个进程能够维持的用户连接数, 运行ulimit -n能看到这个参数值,...如果开启4个进程维持用户连接,那么整个应用能够同时维持的连接数不会超过4*1024个,也就是说最多只能支持4x1024个用户在线可以增大这个设置以便服务能够维持更多的TCP连接。
性能观察工具: 静态性能工具 性能压测工具: 性能调优工具 sar perf-tools 追踪工具 BPF性能工具:
领取专属 10元无门槛券
手把手带您无忧上云