写在前面 博文内容为《性能之巅 系统、企业与云可观测性(第2版)》CPU 章节课后习题答案整理,这是CPU 调优的最后两篇之一,之后还会整理一篇CPU性能故障的场景分析的博文 内容涉及: CPU 术语...例如,Linux 的 vmstat 命令中 r 列显示当前运行队列长度。...查看CPU 相关信息,可以看到 使用率大的部分在内核态(%sys) ┌──[root@vms100.liruilongs.github.io]-[~] └─$mpstat 5 Linux 5.4.266...Linux上,CPU列显示了在前一秒内所有CPU上的CPU用量之和。一个单线程的CPU型进程会报告100%。而一个双线程的CPU型进程则会报告200%。...52 setsockopt 51 connect 50 close 29 socket
概要: linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。
为了让系统能够支持更大的并发,除了必须安装event扩展之外,优化linux内核也是重中之重,以下优化每一项都非常非常重要,请务必按逐一完成。...Linux从4.12内核开始移除了 tcp_tw_recycle 配置,如果报错"No such file or directory"请忽略net.ipv4.tcp_tw_recycle = 0#系统所有进程一共可以打开的文件数量...Soft open files 是Linux系统参数,影响系统单个进程能够打开最大的文件句柄数量,这个值会影响到长连接应用如聊天中单个进程能够维持的用户连接数, 运行ulimit -n能看到这个参数值,
net.ipv4.tcp_mem[2]:高 于此值,TCP 拒绝分配 socket。...默认值为 16384(16K) net.core.rmem_default = 8388608 为 TCP socket 预留用于接收缓冲的内存默认值(单位:字节) net.core.rmem_max...= 16777216 为 TCP socket 预留用于接收缓冲的内存最大值(单位:字节) net.core.wmem_max = 16777216 TCP socket 预留用于发送缓冲的内存最大值(...65536 指定内核中消息队列中消息的最大值(msgmax=64k) kernel.shmmax = 68719476736 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,64 位 linux...Linux 共享内存页大小为 4KB,共享内存段的大小都是共享内存页大小的整数倍。
写在前面 考试整理相关笔记 博文内容涉及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 调优
写在前面 考试整理相关笔记 博文内容涉及,文件系统常见调优手段 不同文件系统格式适用场景分析,格式化选项,挂载日志策略调整 文件系统日志和数据分离配置 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、尽量不要“批量”修改内核参数,笔者就曾这么干过,结果“调优”后,性能反而下降,事务出错数反而增加,所以,调优的时候可以考虑逐个参数进行调优...net.core.rmem_max=124928 接收套接字缓冲区大小的最大值(以字节为单位),参考值873200 net.ipv4.tcp_wmem=4096 16384 4194304 为自动调优定义...socket使用的内存.第一个值是为socket发送缓冲区分配的最少字节数;第二个值是默认值(该值会被wmem_default覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是发送缓冲区空间的最大字节数...(该值会被wmem_max覆盖) net.ipv4.tcp_rmem=4096 87380 4194304 为自动调优定义socket使用的内存.第一个值是为socket接收缓冲区分配的最少字节数...的最大数量,如果超过这个数字,TIME_WAIT socket将立刻被清除并打印警告信息。
为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。...磁盘子系统的调优 对于Linux的Ext3/4来说,几乎在所有情况下都有所帮助的一个参数是关闭文件系统访问时间,在/etc/fstab下看看你的文件系统 有没有noatime参数.atime 是最近访问文件的时间...内存子系统的调优不是很容易,需要不停地监测来保证内存的改变不会对服务器的其他子系统造成负面影响。...为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个: 1 ulimit -u 10000 对于需要做许多 socket 连接并使它们处于打开状态的...系统与性能监控 http://kerrigan.sinaapp.com/post-7.html 性能调优攻略 http://coolshell.cn/articles/7490.html Linux系统下的
这里附上一个调优的脚本,我来简单翻译一下: 地址: https://github.com/nyist-mirror/kernel_tuning # !...16777216" > /proc/sys/net/core/rmem_max Echo "16777216" > /proc/sys/net/core/rmem_default #设置所有协议的最大Socket...自动调优TCP缓冲区限制 Echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_rmem Echo "4096 87380 16777216" > /proc...sys/net/ipv4/tcp_keepalive_intvl 确定超时前的探测数 Echo "3" > /proc/sys/net/ipv4/tcp_keepalive_probes #如果你是关闭socket...sys/net/ipv6/conf/all/disable_ipv6 Echo "1" > /proc/sys/net/ipv6/conf/default/disable_ipv6 # ####文件系统调优
执行 ulimit -a 查看系统配置 需要修改max user processes 和 open files 这两个值 vim /etc/sec...
写在前面 整理一些Linux用电功耗调优的笔记,分享给小伙伴,关于用电调优个人觉得: 最好使用powertop这样的专业工具来搞 或者使用Linux自带的调优策略来 建议针对某些策略进行调优要做好评估...tuned调优 使用节源工具powertop自动调优 食用方式 需了解Linux基础知识 「 我以为爱情可以填满人生的遗憾,然而,制造更多遗憾的却偏偏是爱情」 ---- 我的Linux内核版本 ┌──[...下面我们我们看一些可以在在Linux系统上实现这些策略的一些方法。...节能调优配置文件 RHEL7/8的调优服务tuned:提供了大量预设的调优方案,旨在于简化调优的实施,充分利用系统资源与能效。...管理员可以针对不同的业务选择不同的优化策略,节能的调优可以使用powersave策略 ┌──[root@liruilongs.github.io]-[/sys/class/scsi_host/host0
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_rmem #与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值。...net.ipv4.tcp_wmem = 30000000 30000000 30000000 #为自动调优定义每个 socket 使用的内存。...#第一个值是为 socket 的发送缓冲区分配的最少字节数。 #第二个值是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值。...#在充当网关的linux主机上缺省值为1,在一般的linux主机上缺省值为0。 #从安全性角度出发,建议你关闭该功能。
为了让系统能够支持更大的并发,除了必须安装event扩展之外,优化linux内核也是重中之重。 # Linux内核调优 参数解释: max-file: 表示系统级别的能够打开的文件句柄的数量。...Linux从4.12内核开始移除了 tcp_tw_recycle 配置,如果报错"No such file or directory"请忽略 net.ipv4.tcp_tw_recycle = 0 #系统所有进程一共可以打开的文件数量...Soft open files 是Linux系统参数,影响系统单个进程能够打开最大的文件句柄数量,这个值会影响到长连接应用如聊天中单个进程能够维持的用户连接数, 运行ulimit -n能看到这个参数值,
Linux性能调优那些事儿 01 一、前提 我们可以在文章的开始就列出一个列表,列出可能影响Linux操作系统性能的一些调优参数,但这样做其实并没有什么价值。...因为性能调优是一个非常困难的任务,它要求对硬件、操作系统、和应用都有着相当深入的了解。...如果性能调优非常简单的话,那些我们要列出的调优参数早就写入硬件的微码或者操作系统中了,我们就没有必要再继续读这篇文章了。正如下图所示,服务器的性能受到很多因素的影响。 ?...如果想要理解Linux系统内存的调优,我们必须了解Linux的虚拟内存机制。应用程序并不分配物理内存,而是向Linux内核请求一部分映射为虚拟内存的内存空间。...在今天很多驱动程序默认没有启用NAPI,这就为我们调优网络子系统的性能提供了更广阔的空间。 07 七、理解Linux调优参数 因为Linux是一个开源操作系统,所以又大量可用的性能监测工具。
性能观察工具: 静态性能工具 性能压测工具: 性能调优工具 sar perf-tools 追踪工具 BPF性能工具:
Linux内核极限参数调优是提高系统性能和稳定性的关键步骤,这是我经过不断调试,不断研究研究出来的一套非常好的极限参数调优,调的非常的激进,目前亲子测试对于一些国外服务器效果非常的好,对于一些配置比较低的国外服务器...注意事项:本教程属于是系统内核级调优,修改相关系统内核配置的时候,请先备份,新手小白,请不要乱搞,建议对这一块比较了解的,再根据自己的实际情况进行一点一点的调试,不要直接在生产环境下进行!!!...vi /etc/sysctl.conf 参数如下 # ------ 网络调优: 基本 ------ # TTL 配置, Linux 默认 64 # net.ipv4.ip_default_ttl=64...应当启用. net.ipv4.tcp_timestamps=1 # ------ END 网络调优: 基本 ------ # ------ 网络调优: 内核 Backlog 队列和缓存相关 -----...中 # 只要 dst_entry 没有失效,下次新建立相同连接的时候可以使用保存的参数来初始化这个连接.通常情况下是关闭的 net.ipv4.tcp_no_metrics_save=1 # unix socket
写在前面 和小伙伴分享一些Linux IO优化的笔记,内容很浅,可以用作入门 博文内容结合《Linux性能优化》读书笔记整理 涉及内容包括 使用vmstat 统计系统内磁盘分区I/O的性能 使用iostat...磁盘I/O介绍 在学习性能工具之前,我们来了解Linux磁盘I/O系统是怎样构成的。 大多数现代Linux系统都有一个或多个磁盘驱动。SCSI驱动则常常被命名为sda、sdb、sdc等。...当然也可以是一个VDO卷,分区被挂载到Linux文件系统,由/etc/fstab指定。...在Linux 中,我们可以直接对磁盘进行分区,使用文件系统格式化,也使用LVM的方式来使用管理磁盘,大多数情况下,是通过LVM来管理Linux存储。...但是,如果Linux内核没有在内存中保存数据副本,那它就向磁盘 I/O 队列添加一个请求。 若Linux内核注意到多个请求都指向磁盘内相邻的区域,它会把它们合并为一个大的请求。
写在前面 整理一些Linux内存调优的笔记,分享给小伙伴 博文没有涉及的Demo,理论方法偏多,可以用作内存调优入门 博文内容涉及: Linux内存管理的基本理论 寻找内存泄露的进程 内存交换空间调优...,一般调优首先需要分析系统性能,然后执行系统变更测试应用。...vm_swappiness 值来自sysctl vm.swappiness即位于内核参数中的一个值,交换分区的采用频率 「关于 vm.swappiness 调优。交换空间会严重影响系统。」...第一个图显示了在内存压力下更倾向于交换的系统 第二个图显示了更倾向于收缩页缓存的系统 交换分区和文件调优 交换分区性能在很大程度上受到交换分区的位置和数量的影响。...设置为0将完全禁周期性回写 大多数调优配置文件至少修改上述设置之一。