栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【Linux部署-问题】Greenplum数据库6.13.0单机版 [CRITICAL]:-Error occurred: non-zero rc: 1(报错详情+问题处理)

【Linux部署-问题】Greenplum数据库6.13.0单机版 [CRITICAL]:-Error occurred: non-zero rc: 1(报错详情+问题处理)

1. 报错详情

启动时报一下错误:

20210929:14:24:06:008555 gpstart:tcloud:gpadmin-[INFO]:
-Starting Master instance tcloud directory /home/greenplum/gpdata/master/gpseg-1
20210929:14:24:08:008555 gpstart:tcloud:gpadmin-[CRITICAL]:-Error occurred: non-zero rc: 1
 Command was: 'env GPSESSID=0000000000 GPERA=10738c01b86c1f89_210929142350 
 $GPHOME/bin/pg_ctl -D /home/greenplum/gpdata/master/gpseg-1 -l 
 /home/greenplum/gpdata/master/gpseg-1/pg_log/startup.log -w -t 600 -o " -p 2345 -E " start'
rc=1, stdout='waiting for server to start.... stopped waiting
', stderr='pg_ctl: could not start server
Examine the log output.
'

查询报错日志:

# 读取报错日志
[gpadmin@tcloud pg_log]$ cat /home/greenplum/gpdata/master/gpseg-1/pg_log/startup.log

# 以下是报错的详细信息
2021-09-29 14:23:50.116208 CST,,,p8565,th276797568,,,,0,,,seg-1,,,,,"LOG","00000","registering background worker ""sweeper process""",,,,,,,,"RegisterBackgroundWorker","bgworker.c",774,
2021-09-29 14:23:50.249829 CST,,,p8565,th276797568,,,,0,,,seg-1,,,,,"LOG","00000","redirecting log output to logging collector process",,"Future log output will appear in directory ""pg_log"".",,,,,,"SysLogger_Start","syslogger.c",989,
2021-09-29 14:24:06.500708 CST,,,p8695,th814495872,,,,0,,,seg-1,,,,,"LOG","00000","registering background worker ""ftsprobe process""",,,,,,,,"RegisterBackgroundWorker","bgworker.c",774,
2021-09-29 14:24:06.500992 CST,,,p8695,th814495872,,,,0,,,seg-1,,,,,"LOG","00000","registering background worker ""dtx recovery process""",,,,,,,,"RegisterBackgroundWorker","bgworker.c",774,
2021-09-29 14:24:06.501225 CST,,,p8695,th814495872,,,,0,,,seg-1,,,,,"LOG","00000","registering background worker ""sweeper process""",,,,,,,,"RegisterBackgroundWorker","bgworker.c",774,
2021-09-29 14:24:06.524429 CST,,,p8695,th814495872,,,,0,,,seg-1,,,,,"FATAL","XX000","could not map anonymous shared memory: Cannot allocate memory",,"This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 234802044 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.",,,,,,"CreateAnonymousSegment","pg_shmem.c",587,1    0xbf0dac postgres errstart (elog.c:557)
2    0x9fd25e postgres PGSharedMemoryCreate (pg_shmem.c:578)
3    0xa5fe2c postgres CreateSharedMemoryAndSemaphores (ipci.c:214)
4    0xa10d6b postgres PostmasterMain (postmaster.c:1337)
5    0x6b5f21 postgres main (main.c:205)
6    0x7f022d49d555 libc.so.6 __libc_start_main + 0xf5
7    0x6c1c7c postgres  + 0x6c1c7c

# 重点
"FATAL","XX000","could not map anonymous shared memory: Cannot allocate memory"
2. 问题处理

对共享内存段的请求超出了可用内存【也就是内存不足】给出的解决办法是:减少请求大小(当前为234802044字节),也可以通过减少 shared_buffers 或 max_connections 来减少 PostgreSQL 的共享内存使用。

  1. 方法一【释放内存】
# 首先读取 /proc/sys/vm/drop_caches 的值【默认为0】
cat /proc/sys/vm/drop_caches
0

# 手动执行sync命令
# 描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。
# sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。
sync

# 将 /proc/sys/vm/drop_caches 值设为 3
echo 3 > /proc/sys/vm/drop_caches
cat /proc/sys/vm/drop_caches
3
  1. 方法二【这个要慎重 内存小的就杀掉不必要的程序】
vim /etc/sysctl.conf
	# 添加
	vm.overcommit_memory = 2
# 使修改生效
sysctl -p
  • 0 — 默认设置。内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。遗憾的是因为内存是使用启发式而非准确算法计算进行部署,这个设置有时可能会造成系统中的可用内存超载。
  • 1 — 内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务的性能。
  • 2 — 内存拒绝等于或者大于总可用 swap 大小以及 overcommit_ratio 指定的物理 RAM 比例的内存请求。如果您希望减小内存过度使用的风险,这个设置就是最好的。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/279776.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号