gs_checkos

    前提条件

    • 当前的硬件和网络环境正常。
    • 各主机间root互信状态正常。
    • 只能使用root用户执行gs_checkos命令。
    • 检查操作系统信息

    • 显示帮助信息

    • 显示版本号信息

    参数说明

    • -i

      列表编号。格式:-i A、-i B1、-i A1 -i A2或-i A1,A2。

      取值范围:A1…A14、B1…B8。

      详细的检查项请参见。

    • -h

      指定需要检查的主机名称,可以同时指定多个主机,主机之间使用“,”分割。

      取值范围:openGauss的主机名称。如果不指定主机,则检查当前主机。

    • -X

      openGaussXML配置文件。

    • —detail

      显示检查结果详情。

    • -o

      指定OS检查报告输出到指定的文件。

      不指定则将检查结果输出到屏幕上。

    • -l

      指定日志文件及存放路径。

      默认值:/tmp/gs_checkos/gs_checkos-YYYY-MM-DD_hhmmss.log。

    • -?, —help

      显示帮助信息。

    • -V, —version

      显示版本号信息。

    表 1 操作系统检查项


    说明:

    • A6选项检查标准来自配置文件check_list.conf下[/etc/sysctl.conf]、[SUGGEST:/etc/sysctl.conf]域: 若[/etc/sysctl.conf]下参数值与系统实际参数值不同,A6检查提示Abnormal,可以使用B1参数进行设置。 若[SUGGEST:/etc/sysctl.conf]下参数值与系统实际参数值不同,A6检查提示Warning,B1参数不会进行设置,需根据实际情况进行手动设置。

    • A7选项检查系统文件句柄标准来自配置文件check_list.conf下[/etc/security/limits.conf]域open file参数,可以使用B2参数进行设置。

    • A11选项检查万兆网卡参数“MTU”、“RX”、“TX”标准来自配置文件check_list.conf下[/sbin/ifconfig]域,可以使用B5参数对RX、TX进行设置,MTU需用户手动设置。

    • 使用gs_checkos设置的内核参数值和文件句柄参数值,需重启新会话生效。

    表 2 操作系统参数

    参数名称

    参数说明

    推荐取值

    net.ipv4.tcp_max_tw_buckets

    表示同时保持TIME_WAIT状态的TCP/IP连接最大数量。如果超过所配置的取值,TIME_WAIT将立刻被释放并打印警告信息。

    10000

    net.ipv4.tcp_tw_reuse

    允许将TIME-WAIT状态的sockets重新用于新的TCP连接。

    • 1表示开启。

    1

    net.ipv4.tcp_tw_recycle

    表示开启TCP连接中TIME-WAIT状态sockets的快速回收。

    • 0表示关闭。
    • 1表示开启。

    1

    net.ipv4.tcp_keepalive_time

    表示当keepalive启用的时候,TCP发送keepalive消息的频度。

    30

    net.ipv4.tcp_keepalive_probes

    在认定连接失效之前,发送TCP的keepalive探测包数量。这个值乘以tcp_keepalive_intvl之后决定了一个连接发送了keepalive之后可以有多少时间没有回应。

    9

    net.ipv4.tcp_keepalive_intvl

    当探测没有确认时,重新发送探测的频度。

    30

    net.ipv4.tcp_retries1

    在连接建立过程中TCP协议最大重试次数。

    5

    net.ipv4.tcp_syn_retries

    TCP协议SYN报文最大重试次数。

    5

    net.ipv4.tcp_synack_retries

    TCP协议SYN应答报文最大重试次数。

    5

    net.ipv4.tcp_retries2

    控制内核向已经建立连接的远程主机重新发送数据的次数,低值可以更早的检测到与远程主机失效的连接,因此服务器可以更快的释放该连接。

    发生“connection reset by peer”时可以尝试调大该值规避问题。

    12

    vm.overcommit_memory

    控制在做内存分配的时候,内核的检查方式。

    • 0:表示系统会尽量精确计算当前可用的内存。
    • 1:表示不作检查直接返回成功。
    • 2:内存总量×vm.overcommit_ratio/100+SWAP的总量,如果申请空间超过此数值则返回失败。

    0

    net.ipv4.tcp_rmem

    TCP协议接收端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

    8192 250000 16777216

    net.ipv4.tcp_wmem

    TCP协议发送端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

    8192 250000 16777216

    net.core.wmem_max

    socket发送端缓冲区大小的最大值。

    21299200

    net.core.rmem_max

    socket接收端缓冲区大小的最大值。

    21299200

    net.core.wmem_default

    socket发送端缓冲区大小的默认值。

    21299200

    net.core.rmem_default

    socket接收端缓冲区大小的默认值。

    21299200

    net.ipv4.ip_local_port_range

    物理机可用临时端口范围。

    26000-65535

    kernel.sem

    内核信号量参数设置大小。

    250 6400000 1000 25600

    vm.min_free_kbytes

    保证物理内存有足够空闲空间,防止突发性换页。

    系统总内存的5%

    net.core.somaxconn

    定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。

    65535

    net.ipv4.tcp_syncookies

    当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。

    • 0表示关闭SYN Cookies。
    • 1表示开启SYN Cookies。

    1

    net.core.netdev_max_backlog

    在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

    65535

    net.ipv4.tcp_max_syn_backlog

    记录的那些尚未收到客户端确认信息的连接请求的最大值。

    65535

    net.ipv4.tcp_fin_timeout

    系统默认的超时时间。

    60

    kernel.shmall

    内核可用的共享内存总量。

    1152921504606846720

    kernel.shmmax

    内核参数定义单个共享内存段的最大值。

    18446744073709551615

    net.ipv4.tcp_sack

    启用有选择的应答,通过有选择地应答乱序接受到的报文来提高性能,让发送者只发送丢失的报文段(对于广域网来说)这个选项应该启用,但是会增加对CPU的占用。

    • 0表示关闭。
    • 1表示开启。

    1

    net.ipv4.tcp_timestamps

    TCP时间戳(会在TCP包头增加12节),以一种比重发超时更精确的方式(参考RFC 1323)来启用对RTT的计算,启用可以实现更好的性能。

    • 0表示关闭。
    • 1表示开启。

    1

    vm.extfrag_threshold

    系统内存不够用时,linux会为当前系统内存碎片情况打分,如果超过vm.extfrag_threshold的值,kswapd就会触发memory compaction。所以这个值设置的接近1000,说明系统在内存碎片的处理倾向于把旧的页换出,以符合申请的需要,而设置接近0,表示系统在内存碎片的处理倾向做memory compaction。

    500

    vm.overcommit_ratio

    系统使用绝不过量使用内存的算法时,系统整个内存地址空间不得超过swap+RAM值的此参数百分比,当vm.overcommit_memory=2时此参数生效。

    90

    MTU

    节点网卡最大传输单元。OS默认值为1500,调整为8192可以提升SCTP协议数据收发的性能。

    8192

    文件系统参数

    • soft nofile

      说明:soft nofile表示软限制,用户使用的文件句柄数量可以超过该限制,但是如果超过会有告警信息。

      推荐取值:1000000

    • hard nofile

      说明:hard nofile表示硬限制,是一个严格的限制,用户使用的文件句柄数量一定不能超过该设置。

      推荐取值:1000000

    • stack size

      说明:线程堆栈大小。

      推荐值:3072

    使用如下命令检查操作系统参数。

    相关命令

    gs_check