展开

关键词

Linux 内核参数

内核将 socket 接收缓冲区会划分为网络缓冲区和应用缓冲区,网络缓冲区及通常所提到的数据,而应用缓冲区为 skb 头部一类的数据。 atomic_read(&sk->sk_rmem_alloc)); } tcp_app_win:tcp_adv_win_scale划分出来的应用缓存区保留的字节数,参见Linux网络相关参数 socket可以使用TCP_CORK 参数来取消或允许该特性 参考: Linux之TCPIP内核参数优化 TCP protocol Tuning TCP - sysctl.conf 聊一聊重传次数 TCP net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300 参考 Linux 实例常用内核网络参数介绍与常见问题处理 需要注意内核文件句柄和文件描述符的区别,文件描述符为用户层面的内容,可以使用lsof或在/proc/$pid/fd中查看程序打开的文件描述符。而内核文件句柄的使用情况需要查看内核参数file-nr。

2.4K21

Linux 内核参数优化(for oracle)

使用不同的操作系统内核参数将使得数据库性能相差甚远。本文描述了linux下几个主要内核参数的设置,供参考。 2、参数修改的方式   由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。     信号量的数量可以通过系统内核参数SEMMSL来设置。 file-max     # sysctl -w fs.file-max=512000     # echo "fs.file-max=512000" >> /etc/sysctl.conf 9、网络参数 b、设置网络参数     # sysctl -w net.core.rmem_default=262144      # sysctl -w net.core.wmem_default=262144

1.2K20
  • 广告
    关闭

    腾讯云校园大使火热招募中!

    开学季邀新,赢腾讯内推实习机会

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    内核 TCP 参数调优

    这时可优化TCP内核参数,及时将TIME_WAIT状态的端口清理掉。 下面方法只对大量 TIME_WAIT 状态的连接导致系统资源消耗有效,如不是这种情况,效果可能不明显。 这时,有必要调整下Linux的TCP内核参数,让系统更快的释放TIME_WAIT连接。 输入下面的命令,让内核参数生效: sysctl -p 经过这样调整后,除进一步提升服务器的负载能力外,还能防御小流量程度的DoS、CC和SYN攻击。 内核其他TCP参数说明: net.ipv4.tcp_max_syn_backlog= 65536 #记录尚未收到客户端确认信息的连接请求的最大值。 net.core.netdev_max_backlog= 32768 #每个网络接口接收数据包的速率比内核处理的速率快时,允许送到队列的数据包的最大数目。

    11810

    CentOS RHEL设置内核参数

    The purpose of this post is to explain how to configure kernel parameters on Red...

    83830

    overcommit_memory 内核参数

    overcommit_memory是一个内核对内存分配的一种策略。 具体可见/proc/sys/vm/overcommit_memory下的值 2.  overcommit_memory取值又三种分别为0, 1, 2     overcommit_memory=0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许; overcommit_memory=1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。     overcommit_memory=2, 表示内核允许分配超过所有物理内存和交换空间总和的内存 3.  overcommit_ratio是什么?

    10120

    给容器设置内核参数

    怎么给docker容器设置内核参数? 怎么给k8s POD设置内核参数? 为什么给容器设置某些内核参数之后,主机也会受影响? 容器与sysctl 内核方面做了大量的工作,把一部分sysctl内核参数进行了namespace化(namespaced)。 也就是多个容器和主机可以各自独立设置某些内核参数。 目前已经namespace化的sysctl内核参数: kernel.shm*, kernel.msg*, kernel.sem, fs.mqueue.*, net.*. 注意, vm. 在docker容器中修改sysctl内核参数 正常运行的docker容器中,是不能修改任何sysctl内核参数的。因为/proc/sys是以只读方式挂载到容器里面的。 这种方式只是在容器初始化过程中完成内核参数的修改,容器运行起来以后,/proc/sys仍然是以只读方式挂载的,在容器中不能再次修改sysctl内核参数

    5.3K24

    Linux内核参数调优

    用法: vim /etc/sysctl.conf #修改内容 sysctl -p #生效 相关参数仅供参考,具体数值还需要根据机器性能,应用场景等实际情况来做更细微调整。 net.core.netdev_max_backlog = 400000 #该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 #表示系统同时保持TIME_WAIT套接字的最大数量 net.ipv4.tcp_max_syn_backlog = 8192 #表示SYN队列长度,默认1024,改成8192,可以容纳更多等待连接的网络连接数 net.ipv4.tcp_fin_timeout = 10 #表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。 net.ipv4.tcp_syn_retries = 1 #在内核放弃建立连接之前发送SYN包的数量。

    1.2K20

    Linux内核启动参数详解

    4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 2.查看当前linux内核的启动参数 不进行打印信息的输出,所以去掉此项将会迎来很多打印信息 splash: 显示开机动画 vt.handoff=7 : 图形界面会去使用tty7,此项用来禁止splash占用tty7,因此如果将splash参数去掉 ,此项就无效了 4.添加新的启动参数 vi /boot/grub/grub.cfg 此文件中会有第2步输出的内容,在其后追加参数即可,例如: 笔者的grub.cfg文件中就有如下行:(是不是与第2步输出的信息有些类似 -4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f ro quiet splash $vt_handoff 假设笔者要加入参数 update-grub命令无法满足更细致的内核参数修改需求

    1.1K20

    再回顾几个内核参数

    大量SYN_RECV会导致队列溢出,后续请求将被内核直接丢弃,也就是SYN Flood攻击。 所以如果是在NAT(Network Address Translation)网络下,就可能出现数据包丢弃的现象,会导致大量的TCP连接建立错误。

    19550

    Linux 下 Oracle 内核参数优化

    数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块。而操作系统则是Oracle稳定运行与最大化性能的基石。 本文主要描述基于Linux系统下 Oracle 内核参数的配置。 校验下面的列表中显示的内核参数的值被设置为大于或等于下面所显示的最小值。 有关优化内核参数更多信息请参考操作系统相关文档。 Oracle 内核参数参考值 Parameter Minimum Value Recommended value File semmsl semmnssemopmsemmni 250 32000100128 按照下面的步骤去查看指定参数的值,如果有必要的话对其进行修改 执行下表中相应的命令来显示这些内核参数的值,并标记该参数的值是否需要修改。

    14230

    Linux Linux内核参数调优

    关于调优的建议: 1、出错时,可以查看操作系统日志,可能会找到一些有用的信息 2、尽量不要“批量”修改内核参数,笔者就曾这么干过,结果“调优”后,性能反而下降,事务出错数反而增加,所以,调优的时候可以考虑逐个参数进行调优 说明:我也不是很懂,参考自网络整理了下可能需要调整的一些参数 net.core.wmem_max=124928 发送套接字缓冲区大小的最大值(以字节为单位),参考值873200 net.core.rmem_max 256 net.core.optmem_max=20480 socket buffer的最大初始化值,默认20k net.core.netdev_max_backlog=1000,修改16384,每个网络接口接收数据包的速率比内核处理这些包的速率快时 如果probe 9次(每次75秒)不成功,内核才彻底放弃,认为该连接已失效,对服务器而言,显然上述值太大. 这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。

    2.3K31

    greenplum 内核参数sysctl.conf 详解

    greenplum 常用的配置参数 1、参数列表 2、参数含义解释 greenplum 常用的配置参数 1、参数列表 # cat /etc/sysctl.conf kernel.shmmax = 1800000000000 参数名称 设置值 参数说明 kernel.shmmax 185757335552 表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为173G,即"185757335552 kernel.shmall 185757335552 表示可用共享内存的总量,单位是页,一般此值与kernel.shmmax相等 kernel.sem 1000 10240000 400 10240 该文件用于控制内核信号量 所以,(第一列)*(第四列)=(第二列) kernel.sysrq 1 内核系统请求调试功能控制,0表示禁用,1表示启用 kernel.core_uses_pid 1 这有利于多线程调试,0表示禁用,1 进程间的消息传递是在内核的内存中进行的,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量。

    1.7K40

    nginx十万并发内核参数优化(2)

    net.core.netdev_max_backlog = 262144 每一个网络接口接收数据包的速率比内核处理这些包的速率快时,同意送到队列的数据包的最大数目。 时间戳可以让内核接受这样的“异常”的数据包。这里须要将其关掉。 net.ipv4.tcp_synack_retries = 1 为了打开对端的连接,内核须要发送一个SYN 并附带一个回应前面一个SYN 的ACK。 也就是所谓三次握手中的第二次握手。 这个设置决定了内核放弃连接之前发送SYN+ACK 包的数量。 net.ipv4.tcp_syn_retries = 1 在内核放弃建立连接之前发送SYN 包的数量。 2.2 内核的通常值是180 秒。即使你的机器是一个轻载的WEB server。也有由于大量的死套接字而内存溢出的风险,FIN- WAIT-2 的危急性比FIN-WAIT-1 要小。

    81650

    linux常用的内核参数的设置

    .共享内存大小的设置 临时设置: 通过修改/proc/sys/kernel/shmmax参数可以达到此目的。    SHMMAX   参数定义共享内存段的最大尺寸(以字节为单位)。在设置 SHMMAX 时,切记 SGA 的大小应该适合于一个共享内存段。 我一般使用下列方法之一种将 SHMMAX 参数设为 2GB :   通过直接更改 /proc 文件系统,你不需重新启动机器就可以改变 SHMMAX 的默认设置。 /sys/kernel/shmmax   您还可以使用 sysctl 命令来更改 SHMMAX 的值:   # sysctl -w kernel.shmmax=2147483648   最后,通过将该内核参数插入到

    70760

    Linux操作系统内核参数优化

    limits.conf,添加如下内容(100000替换为自己想要的值) * hard nofile 100000 * soft nofile 100000 编辑文件/etc/sysctl.conf中的相关内核参数 接受缓存区预留内存最大值 默认值 128k # # net.unix.max_dgram_qlen 进程间通信发送数据, 默认10 # # net.ipv4.tcp_syncookies 只有在内核编译选择

    1.2K40

    TKE集群给pod设置内核参数

    使用tke的过程中,很多时候我们希望对容器内的一些内核参数进行优化修改,可以通过init容器或者securityContext来修改pod内的内核参数。 1. 常用内核参数说明 网络参数 说明 初始化配置 net.ipv4.tcp_tw_recycle 该参数用于快速回收 TIME_WAIT 连接。关闭时,内核不检查包的时间戳。开启时则会进行检查。 不建议开启该参数,在时间戳非单调增长的情况下,会引起丢包问题,高版本内核已经移除了该参数。 对快速重启动某些占用固定端口的链接有帮助,但基于 NAT 网络有潜在的隐患,高版本内核变为0/1/2三个值,并配置为2。 *(内核中可以在容器命名空间里被更改的网络配置项相关参数)。

    79851

    Linux利用Sysctl命令调整内核参数

    前言 sysctl 命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录 /proc/sys 中。 想要覆盖整个文件系统参数的话,则在 /etc/sysctl.d 目录下新建一个同名的文件,然后写上你的配置。新建自己的配置也是一样。 最后 有些软件配置内核参数用的到。 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。

    2.4K21

    CUDA编程.配置内核参数+API函数

    为了我们获得并行能力,需要做一些配置CIA可以,这个配置在内核启动中写。它们指定了Grid中块的数量,和每一个块中线程的数量。每个快上面有512或者1024个线程。 因此,你必须修改内核启动配置里的值。 程序员必须注意,每个块的线程数量不能超过GPU设备所支持的最大限制。 ? size_t size,enum cudaMemcpyKind kind); cudaMemcpy(&h_c,d_c,sizeof(int),cudaMemcpyDeviceToHost); 这个函数哟4个参数 ,一个是目标的指针,第二个参数是原指针,第三个是参数的数据的复制的大小,最后一个是复制的方向 cudaFree:是free函数 cudaFree(void * d_ptr); cudaFree(d_c)

    10210

    Linux中etcsysctl.conf 内核参数含义

    : kernel.shmmax: 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。 这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用 ,不能设置太满,比如16G) kernel.shmmni: 该参数是共享内存段的最大数量。 fs.aio-max-nr: 此参数限制并发未完成的请求,应该设置避免I/O子系统故障。 32000是参数semmns的值,表示系统内可允许的信号量最大数目。 100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

    81930

    Linux内核调优参数对比与解释

    全文概要 本文介绍了Linux系统性能优化点常见的内核参数含义及其调优方式,以供学习参考。 具体情况要具体分析,此处只是收集通常会利用到的一些参数的调整,做一些简单的对比和解释。 全部系统变量默认值测试均在 Ubuntu 16.03 系统下进行,内核版本为4.13.0-42-generic。 现在大多数网卡都具有LRO/GRO功能,即网卡收包时将同一流的小包合并成大包 (tcpdump抓包可以看到>MTU 1500bytes的数据包) 交给内核协议栈。 LVS内核模块在处理 >MTU 的数据包时,会将其丢弃。因此,如果我们用LVS来传输大文件,很容易出现丢包,传输速度慢。 【生产环境实例】 [2]linux内核参数解释说明 [3]tcp_tw_reuse、tcp_tw_recycle 使用场景及注意事项 [4]linux内核调优参数对比和解释

    3.9K10

    扫码关注腾讯云开发者

    领取腾讯云代金券