赞
踩
修改用户名,把用户名 “gaussdba” 改名为 “gauss”。
usermod -l gauss gaussdba
锁定“gauss”用户,使其不能登录。
usermod -L gauss
解锁“gauss”用户帐号,使其可以登录。
usermod -U gauss
查看账号是否过期
chage -l gauss
设置账号永不过期
chage -M 99999 gauss
删除用户
userdel -r gauss
说明:
背景信息
参数名字 | 参数描述 | 合理取值 |
SHMMAX | 最大共享内存段尺寸(字节) | 请参见本文参数说明。 |
SHMMIN | 最小共享内存段尺寸(字节) | 1 |
SHMALL | 可用共享内存的总数量(字节或页面) | 如果是字节,取值和SHMMAX一样,如果是页面,取值为ceil(SHMMAX/PAGESIZE)。 说明: 可以用getconf PAGESIZE命令查看一个页面的字节数。 |
SHMSEG | 每个进程最大共享内存段数量 | 只需要1个段。 |
SHMMNI | 系统范围最大共享内存段数量 | 类似SHMSEG加上用于其他应用程序的空间。 |
SEMMNI | 信号集的最大数量 | ceil(max_connections/16)。 |
SEMMNS | 系统范围的最大信号灯数量 | ceil(max_connections/16)*17加上用于其他应用程序的空间。 |
SEMMSL | 每套信号灯的最大信号灯数量 | 17。 |
SEMMAP | 信号灯映射里的记录数量 | 请参见本文参数说明。 |
SEMVMX | 信号灯的最大值 | 缺省为32767。 |
参数说明:
SHMMAX
它是以字节记的最大共享内存段的尺寸,如果收到来自shmget的Invalid argument这样的错误信息,那很可能超过了这个参数的限制。
SHMALL
该数值等于GaussDB加上其他使用共享内存段的应用的综合。
说明:
SHMALL在很多系统上使用页面数,而不是用字节数计算的。
SHMMIN
这个参数对GaussDB来说大约是500KB左右。
SEMMNS
这个参数设置系统里最大信号灯数目,这个值至少应和max_connections设置一样大,并且每16个连接还要加上一个(请参见表System V IPC参数)。
SEMMNI
这个参数决定系统里一次可以存在的信号灯集的数目。至少应为 ceil(max_connections / 16)。
SEMMA
这个参数决定存放信号灯映射空间的大小,每个信号灯在这个空间中都有一个映射,如果这个空间填满碎片,会导致可用的信号灯比应该可用的少。
SEMMSL
这个参数决定一套信号灯里可以有多少信号灯,GaussDB中为17。
问题:缺省设置只适合小安装(缺省最大共享内存是 1024MB)。最大共享内存段可以用两种方法设置。比如,要将最大共享内存段设置为4G即1048576页,有如下两种方式。
方法一:用sysctl接口进行设置,操作步骤如下。
以root用户身份登录linux操作系统。用sysctl接口进行修改。
sysctl -w kernel.shmmax=4294967296
sysctl -w kernel.shmall=1048576
方法二:修改sysctl.conf文件,操作步骤如下。
以root用户身份登录linux操作系统。用vi编辑器打开sysctl.conf,并增加如下内核参数。
vi /etc/sysctl.conf
kernel.shmmax = 4294967296
kernel.shmall = 1048576
执行如下命令,使Linux启动时自动读取内核参数。
/sbin/chkconfig boot.sysctl on
执行如下命令,使内核参数生效。
/sbin/sysctl -p
Linux内核通常有一些系统范围的资源限制,这些限制会干扰GaussDB服务器的运行。
背景信息
问题:设置系统最大可以打开的文件的数目有如下两种方式。
方式一:修改file-max文件,操作步骤如下。
以root用户身份登录Linux操作系统。修改file-max文件。
vi /proc/sys/fs/file-max
方式二:在/etc/sysctl.conf里添加fs.file-max参数,操作步骤如下。
以root用户身份登录Linux操作系统。在内核配置文件“/etc/sysctl.conf”中添加此参数。
vi /etc/sysctl.conf
fs.file-max = 4866970
执行如下命令,使Linux启动时自动读取内核参数。
/sbin/chkconfig boot.sysctl on
执行如下命令,使内核参数生效。
/sbin/sysctl -p
为避免虚拟内存用光导致GaussDB服务器进程的终止,需要设置 Linux 内存的过提交。
背景信息
如果内核因为内存的压力终止了GaussDB服务器进程,您会看到像下面这样的内核信息:Out of Memory: Killed process 12345 (gaussdb),此时,现有的数据连接将正常运转,但新的连接无法建立,重启GaussDB可以解决该问题。但要避免此问题需在有足够内存的机器上运行GaussDB ,或采取修改内存行为的方法来解决。
问题:修改内存的行为,有两种方法。
方法一:用sysctl选取一个严格的过提交模式,操作步骤如下。
以root用户身份登录linux操作系统。设置过提交的模式,命令如下。
/sbin/sysctl -w vm.overcommit_memory=2
方法二:在/etc/sysctl.conf里设置vm.overcommit_memory参数,操作步骤如下。
以root用户身份登录linux操作系统。用vi编辑器向sysctl.conf写入vm.overcommit_memory配置参数,命令如下:
vi /etc/sysctl.conf
vm.overcommit_memory = 2
执行如下命令,使Linux启动时自动读取内核参数。
/sbin/chkconfig boot.sysctl on
执行如下命令,使内核参数生效。
/sbin/sysctl -p
数据库无法启动,报错如下
**FATAL**: could not create semaphores: 设备上没有空间(pg_sema.c:123)
**DETAIL**: Failed system call was semget (5432129.17.03600)
**HINT**: This error does "not" mean that you have run out of disk...(SEMMNS)...(SEMMIN)...
解决方式
vim /etc/sysctl.conf
# 追加或修改
kernel.sem = 250 256000 32 1024
# 加载生效
sysctl -p
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。