作为一个 Linux 系统管理员,有时候你需要修改默认的内核行为。例如,你可能想要启用 SysRq 或者增加 Kernel 能够接受的连接数量。 内核参数可以在构建内核的时候,在系统启动时,或者在运行时进行设置。
Linux内核涉及进程和程序的所有算法都围绕一个名为task_struct的数据结构建立,该结构定义在/usr/include/sched.h中;task_struct数据结构提供了两个链表表头,用于实现进程家族关系;
当向外界主机发送数据时,在它从网卡流入后需要对它做路由决策,根据其目标决定是流入本机数据还是转发给其他主机,如果是流入本机的数据,则数据会从内核空间进入用户空间(被应用程序接收、处理)。当用户空间响应(应用程序生成新的数据包)时,响应数据包是本机产生的新数据,在响应包流出之前,需要做路由决策,根据目标决定从哪个网卡流出。
自从锐速发布以来,这款牛逼的单边加速神器的确为一些线路不太优秀的服务器带来了更优秀的体验。但是呢,过高的价格和不再低端售卖。导致了我们并无法实现一个免费好用的单边加速功能。
Magic SysRq 组合键是一串能直接与 Linux 内核沟通的组合键,允许使用者就算在系统进入死循环濒临崩溃时,直接呼叫系统底层将数据写入档案系统或重新开机,避免尚未写入档案系统与硬盘的数据在开机后消失。在 Linux 系统中,推荐尽量使用 Magic SysRq 组合键而不是直接硬关机。
这个参数通常需要在高负载的访问服务器上增加。比如繁忙的网络(或网关/防火墙 Linux 服务器),再比如集群规模大,node 和 pod 数量超多,往往需要增加内核的内部 ARP 缓存大小。
只要 Linux 发行版的 Kernel 即内核版本大于等于 4.9 即可开启,开启方法是通用的,只需修改内核参数即可。
默认情况下,在RHEL / CenOS 7系统上启用IPv6。因此,如果故意在系统上禁用IPv6,则可以通过以下任一方法重新启用它。
PostgreSQL某些时候会耗尽操作系统的各种资源限制,当同一个系统上运行着多个拷贝的服务器或在一个非常大的安装中时尤其如此。本节解释了PostgreSQL使用的内核资源以及你可以采取的用于解决内核资源消耗相关问题的步骤。
数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块。而操作系统则是Oracle稳定运行与最大化性能的基石。本文主要描述基于Linux系统下 Oracle 内核参数的配置。
KRIe是一款功能强大的带有eBPF的Linux内核运行时安全检测工具,该工具旨在利用eBPF的功能来检测Linux内核中的安全问题。KRle远远不止是一种防御策略那么简单,该项目的主要目标是增加攻击者的攻击难度,并防止那些开箱即用的漏洞利用策略直接在目标设备内核上发挥作用。
之前文章《Linux服务器性能评估与优化(一)》太长,阅读不方便,因此拆分成系列博文:
BBR(Bottleneck Bandwidth and RTT),全新的 拥塞控制算法,由 Google 开发,供 Linux 内核的 TCP 协议栈使用
案发现场的日志: 缓存集群redis重启错误报错: 29808:M 07 Jun 09:46:32.209 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 29808:M 07 Jun 09:46:32.209 # Server started, Redis version 3.0.4 2
自从 Linux 内核 4.9 开始已经封装了这个新的 TCP 控制算法 BBR。
BBR 是谷歌开源的一项针优化网络拥塞控制算法,该算法与锐速、FinalSpeed等都为单边加速、无须客户端,但是 BBR 可以免费使用,不存在授权的问题。Linux Kernel 4.9RC 之后的 Linux 内核已经集成了该算法,所以只需要将内核更换到最新即可开启。
Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。 对于TCP单边加速,并非所有人都很熟悉,不过有另外一个大名鼎鼎的商业软件“锐速”,相信很多人都清楚。特别是对于使用国外服务器或者VPS的人来说,效果更佳。 网上有很多在 Debian 和 Ubuntu 系统下启用 BBR 的教程,我就不粘贴了,我自己一直用的是 CentOS,本文介绍一下在 64位 CentOS 7 系统下开启BBR的方法。 升级内核 第一步首先是升级内核到
为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。所以Red Hat, Suse,Mandriva和其他的一些发行版厂商选择了一些保守的设置来确保安装成功。 简单地说:你的发行版运行的很好,但是它可以运行地更好! 比如,可能有一个具体一些特殊特性的高级硬盘,而这些特性在标准配置的情况下可能就没被启用。 磁盘子系统的调优 对于Linux的Ext3/4来说,几乎在所有情况下都有所帮助的一个参数是关闭文件系统访问时间,在/
linux使用page cache来缓存最近读取的文件,也有目录结构(dcache: Directory Entry Cache)缓存及inode缓存,它们都使用了LRU算法来管理这些page及dentries cache
本文介绍如何在CentOS 7上部署Google BBR的过程步骤,希望对大家有所参考。【注:文章当时使用的内核版本是4.9.0 而目前是4.15.6(4.15版本高于4.9)】
有大佬集成了BBR原版/BBR魔改/BBR PLUS/ServerSpeeder(锐速)四合一脚本,预先准备:
基本不会介绍BBR的原理,需要详细了解,可以访问research,我技术并不够优秀,很难解释清楚,还请见谅!
Linux进程数超过了设置的最大进程数。会对系统进行资源限制,所以分配给ssh进程的资源时有时无,一些命令的bash进程会被杀调,以保证系统进程不超过设置的最大进程数,无法正常执行。即下面的第一个输出要远远小与第二个和第三个输出。如果有些接近就会出现这种问题
3月31日, 选手Manfred Paul 在Pwn2Own比赛上用于演示Linux内核权限提升的漏洞被CVE收录,漏洞编号为CVE-2020-8835。 此漏洞由于bpf验证系统在Linux内核中没有正确计算某些操作的寄存器限制,导致本地攻击者可以利用此缺陷越界读取机密信息(内核内存)或将用户提升为管理权限。请相关用户采取措施进行防护。
写在前面,本文介绍如何安装BBR BBR是谷歌研究的一套网络拥塞算法 BBR 由 Google 开发,供 Linux 内核的 TCP 协议栈使用,有了 BBR 算法,Linux 服务器可以显著提高吞吐量并减少连接延迟,简单来说 BBR 能加速网络传输速度。此外,部署 BBR 也很容易,因为该算法只需要发送方,而不需要网络或接收方的支持。
参照官方文档:在 Kubernetes 集群中使用 sysctl | Kubernetes
Linux服务器禁ping可以通过内核参数和防火墙设置来实现。内核参数中,临时或永久设置icmp_echo_ignore_all的值即可。防火墙设置中,允许ping时添加相应规则,禁止ping时删除或注释掉相关规则。设置完成后,执行sysctl-p使新配置生效。同时,关闭防火墙或在宝塔面板打开禁ping开关也可以达到禁ping效果。
前言 记得第一次接触/etc/security/limits.conf和/etc/sysctl.conf时 是因为部署Oracle时要按需修改内核参数。limits.conf文件实际是Linux PA
当在CentOS 7.9上搭建Web服务器时,以下是一些可以优化内核参数的建议。可以使用sysctl命令来临时修改这些参数,或者将它们添加到系统的配置文件以在启动时应用。
uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
Jexus web server 5.1 每个工作进程的最大并发数固定为1万,最多可以同时开启4个工作进程,因此,每台Jexus V5.1服务器最多可以到支持4万个并发连接。但是,按照linux系统的默认设定,linux是不能支持这么高的并发请求的,只有对linux进行一些必要的优化,才能达到让Jexus支持大并发的目的。 一、调整文件描述符数量限制 linux默认文件描述符只有1024个,对于Jexus 等一些服务来说,在大负载的情况下这点文件描述符是远远不够的,因为Jexus 的工作方式,文件描述符
Linux 用户态和内核态由于 CPU 权限的限制,通信并不像想象中的使用进程间通信方式那么简单,今天这篇文章就来看看 Linux 用户态和内核态究竟有哪些通信方式。
里面kernel-ml-5.3.8-1.el7.elrepo.x86_64就是安装的新版版本内核(你看到这篇教程的时候可能内核版本有变化,随机应变)
3月31日,选手Manfred Paul在Pwn2Own比赛上用于演示Linux内核权限提升的漏洞被CVE收录,漏洞编号为CVE-2020-8835。此漏洞由于bpf验证系统在Linux内核中没有正确计算某些操作的寄存器限制,导致本地攻击者可以利用此缺陷越界读取机密信息(内核内存)或将用户提升为管理权限。请相关用户采取措施进行防护。
在Linux中,可以更改打开文件的最大数量。使用ulimit命令修改这个限制值,从而控制文件资源的访问阈值。
很多读者在看完百万 TCP 连接的系列文章之后,反馈问我有没有测试源码。也想亲自动手做出来体验体验。这里为大家的实践精神点赞。
先升级软件最新 yum update -y 然后导入 elrepo 软件源的 key 并安装 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 安装最新内核 yum -y --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml
默认ubuntu12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来,配置步骤如下:
Linux内核是高并发服务的关键组件之一。以下是一些可用于优化Linux内核的配置。
Oracle 不同平台的数据库安装指导为我们部署Oracle提供了一些系统参数设置的建议值,然而建议值是在通用的情况下得出的结论,并非能完全满足不同的需求。使用不同的操作系统内核参数将使得数据库性能相差甚远。本文描述了linux下几个主要内核参数的设置,供参考。
怎么给docker容器设置内核参数? 怎么给k8s POD设置内核参数? 为什么给容器设置某些内核参数之后,主机也会受影响?
2. IBM 宣布推出 50TB 企业级磁带机和磁带盒 --www.forbes.com
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/80996364
# route -n // 显示路由表,哪条在前就用哪条,都没有就用default
众所周知,在 Linux 系统下,只允许 Root 用户运行的程序才可以使用特权端口 ( 1024 以下的端口 )。如果在普通用户下使用特权端口将会报错。
Linux 2.4内核以后提供了一个非常优秀的防火墙工具:netfilter/iptables,他免费且功能强大,可以对流入、流出的信息进行细化控制,它可以 实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。
生产环境:CentOS Linux release 7.9.2009 (Core) \
grep 是一款非常流行的文本搜索工具,它根据正则表达式对文本进行搜索,并输出匹配的行或文本。
默认Ubuntu 12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来,配置步骤如下:
领取专属 10元无门槛券
手把手带您无忧上云