GaussDB(DWS)-OS常见问题归档

举报
寒衣 发表于 2024/03/12 19:30:39 2024/03/12
【摘要】 DWS-OS相关问题配置排查

一、常见参数配置

1.1 OS core配置

 操作系统core文件配置指南

1.2 OS cache配置

free -g #检查当前内存状态

 

buff/cache:磁盘缓存的大小,可以看到上图中此参数占用过高。可通过以下命令进行cache内存清理
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

如果依旧过高,则是因为脏页,正在回写的页,被共享文件映射的页,drop_caches都不会处理。那么则需要对于脏页进行配置:

#减少脏数据缓存相关参数 			
sysctl -w vm.dirty_ratio = 10   			
sysctl -w vm.dirty_background_ratio = 5		
sysctl -p 	

相关链接:https://blog.csdn.net/iteye_16982/article/details/82642924

如果操作系统为eular,可以检查操作系统中是否存在cache_limit_mbytes

ll /proc/sys/vm/cache_limit_mbytes

如果存在,可使用如下命令对其进行限制(单位为MB):

echo 1024 > cache_limit_mbytes

1.3 OS 句柄配置

告警句柄使用超阈值,可通过以下命令进行检查当前句柄数与句柄数上限

cat /proc/sys/fs/file-nr
ulimit -n

现在所持有的句柄为21024,句柄最大值限制分别为640000与1000000,取最小值640000。

应急处理方案:【OS】文件句柄数占用率过高的处理方案。

修改句柄最大值操作:

#实时生效,需root权限
echo  ulimit -HSn 65536> /proc/sys/fs/file-max  
ulimit -HSn ulimit -HSn 65536
sysctl -p

#永久化生效,需要设置完重启服务器生效
sed -i '/^.*fs.*file-max.*$/d' /etc/sysctl.conf
echo "fs.file-max = 1000000" >> /etc/sysctl.conf
sed -i '/^.*hard.*nofile.*$/d' /etc/security/limits.conf
sed -i '/^.*soft.*nofile.*$/d' /etc/security/limits.conf
echo "* soft nofile 1000000" >> /etc/security/limits.conf
echo "* hard nofile 1000000" >> /etc/security/limits.conf

SUSE12.5以上操作系统单用户可创建线程需要特别设置。单用户可创建线程的上限受到以下三类参数的影响:

  • 单用户可创建线程的上限要大于60000,那么此用户在/etc/security/limits.conf的nproc值必须大于60000,以dws用户为例,/etc/security/limits.conf的配置如下:
dws  soft  nproc 61000
dws  hard  nproc 61000

用户dws重新登录,limits.conf里的参数即可生效

  • 单用户可创建线程的上限受内核参数vm.max_map_count影响,创建线程最大值为vm.max_map_count的一半,即大于120000,配置方法如下:
echo "vm.max_map_count = 122000" >> /etc/sysctl.conf
sysctl -p
  • 单用户可创建线程的上限也受到/etc/systemd/logind.conf中的UserTasksMax影响,但此参数一旦调大(调整后重启生效),所有用户的task数均被调大,建议的配置方法是按用户来设置(以用户的uid为1001为例):
1)在目录/etc/systemd/system/中创建目录user-1001.slice.d
mkdir /etc/systemd/system/user-1001.slice.d
2)在新建目录中创建文件50-tasksmax.conf并写入以下内容:
vi /etc/systemd/system/user-1001.slice.d/50-tasksmax.conf
TasksMax=61000

完成之后,下次uid为1001的用户登录之后,他的TasksMax的值即调整为61000
如果uid为1001的用户处于登录状态,也可用以下命令调整TasksMax的值:
systemctl set-property user-1001.slice TasksMax=61000
uid为1001的用户的TasksMax的查询命令:
systemctl show user-1001.slice | grep -i TasksMax | grep -v DropInPaths

当且仅当上述三类参数均调整完成,SUSE12.5 版本上的单用户才可以创建大于60000的线程。

1.4 OS 网络参数配置

  • unexpected EOF on GDS

原因分析:当集群中出现大量这种错误时候首先考虑GDS机器的网络参数设置是否符合要求。可以参考下面的参数

参数参考值

net.core.somaxconn = 65535  
net.ipv4.tcp_max_syn_backlog = 65535  
net.core.netdev_max_backlog = 65535  
net.ipv4.tcp_retries1 =5  
net.ipv4.tcp_retries2 = 60  

查看方法

cat /proc/sys/net/core/somaxconn
cat /proc/sys/net/ipv4/tcp_max_syn_backlog
cat /proc/sys/net/core/netdev_max_backlog
cat /proc/sys/net/ipv4/tcp_retries1
cat /proc/sys/net/ipv4/tcp_retries2

修改方法

修改对应参数:
vim /etc/sysctl.conf
永久生效:
sysctl -p
  • 负载均衡有些服务器访问不到造成的问题,解决方法:
#检查当前参数是否存在及其现阶段值
cat /proc/sys/net/ipv4/conf/all/rp_filter
cat /proc/sys/net/ipv4/conf/br1/rp_filter
cat /proc/sys/net/ipv4/conf/br0/rp_filter

#临时修改参数
echo 0 /proc/sys/net/ipv4/conf/all/rp_filter
echo 0  /proc/sys/net/ipv4/conf/br1/rp_filter
echo 0  /proc/sys/net/ipv4/conf/br0/rp_filter

#永久修改参数
cat /etc/sysctl.conf
修改
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.br0.rp_filter = 0
net.ipv4.conf.br1.rp_filter =0
sysctl -p
  • LVS配置项检查
/sbin/sysctl -a | grep ip_forward
net.ipv4.ip_forward=1

/sbin/sysctl -a | grep arp_
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2


二、GaussDB(DWS)-集群告警出现大量D/Z进程

https://bbs.huaweicloud.cn/blogs/421174


三、GaussDB(DWS)-硬件-慢盘定位实践

https://bbs.huaweicloud.cn/blogs/423497


四、异常重启

https://bbs.huaweicloud.cn/forum/thread-0235114773299016034-1-1.html


五、Linux 性能监控 Sar (Sysstat) 辅助排查手段

https://bbs.huaweicloud.cn/blogs/345343


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。