暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库安装准备(单机)

阿力 2025-01-30
320


一、安装前准备工作

根据达梦官网的要求,安装达梦数据库前先把软硬件环境先弄清楚,以下是我单机环境的情况:

1.查看操作系统相关:

1.查看操作系统版本:

[root@node1 kingbase]# cat /etc/os-release

NAME="Kylin Linux Advanced Server"

VERSION="V10 (Sword)"

ID="kylin"

VERSION_ID="V10"

PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"

ANSI_COLOR="0;31"

 

[root@node1 ~]# cat /etc/.productinfo

Kylin Linux Advanced Server

release V10 (SP2) /(Sword)-x86_64-Build09/20210524

[root@node1 ~]#

 

2查看系统版本

[root@node1 ~]# nkvers

############## Kylin Linux Version #################

Release:

Kylin Linux Advanced Server release V10 (Sword)

 

Kernel:

4.19.90-24.4.v2101.ky10.x86_64

 

Build:

Kylin Linux Advanced Server

release V10 (SP2) /(Sword)-x86_64-Build09/20210524

#################################################

 

3.内核查询:

[root@node1 ~]# cat /proc/version

Linux version 4.19.90-24.4.v2101.ky10.x86_64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 12:14:55 CST 2021

[root@node1 ~]#

[root@node1 ~]# uname -r

4.19.90-24.4.v2101.ky10.x86_64

[root@node1 ~]# uname -a

Linux node1 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux

[root@node1 ~]#

 

4.系统位数查询:

[root@node1 ~]# getconf LONG_BIT

64

 

5.系统架构查询:

[root@node1 ~]# uname -m

x86_64

[root@node1 ~]#

 

6.查询cpu型号:

[root@node1 ~]# cat /proc/cpuinfo |grep name|cut -f2 -d:|uniq -c

      2  Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz

[root@node1 ~]#

 

7.查询cpu个数:

[root@node1 ~]# cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2

[root@node1 ~]#

 

 

 

2.查看时间日期是否正确:

[root@node1 ~]# date

2025年 01月 24日 星期五 17:23:11 CST

[root@node1 ~]#

[root@node1 ~]#

 

#时间不一致则需要修改时间:

手动修改时间方法: date -s "yyyy-mm-dd HH:MM:SS"

 

 

 

3.关闭防火墙和selinux

1.关闭防火墙,关闭开机自启

[root@node1 ~]# systemctl stop firewalld

[root@node1 ~]# systemctl disable firewalld

[root@node1 ~]#

 

2.关闭selinux

临时关闭selinux

[root@node1 ~]# setenforce 0

setenforce: SELinux is disabled

查看当前状态:

[root@node1 ~]# getenforce

Disabled

[root@node1 ~]#

 

永久关闭selinux,修改SELINUXTYPE=targeted

。在配置文件/etc/selinux/config

[root@node1 ~]# cat /etc/selinux/config

 

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

##修改为 disabled

SELINUX=disabled

# SELINUXTYPE= can take one of these three values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     ukmls - Multi Level Security protection.

#     ukmcs -ukmcs variants of the SELinux policy.

SELINUXTYPE=targeted

 

# SETLOCALDEFS= Check local definition changes

SETLOCALDEFS=0

 

注意:

修改 SELinux 永久关闭,必须重启服务器,才能生效。且永久关闭后,不能通过 setenforce 1 命令临时打开

 

 

4.查看tar命令是否安装

1.查看tar命令是否安装

[root@node1 ~]# tar --help

用法: tar [选项...] [FILE]...

GNU 'tar' saves many files together into a single tape or disk archive, and can

restore individual files from the archive.

 

Examples:

  tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.

  tar -tvf archive.tar         # List all files in archive.tar verbosely.

  tar -xf archive.tar          # Extract all files from archive.tar.

.....

 

官网提示注意:缺失 tar 命令会导致数据库无法安装。

 

 

5.磁盘分区及规划

1.安装前规划
安装路径:
软件安装路径:/dm8
数据库路径:/dmdata
归档路径:/dmarch
备份路径:/dmbak

 

2.查看新增了一块硬盘/dev/sdb

[root@node1 ~]# fdisk -l

Disk /dev/sdb:50 GiB,53687091200 字节,104857600 个扇区

磁盘型号:VMware Virtual S

单元:扇区 / 1 * 512 = 512 字节

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

...

 

3.对新增的硬盘/dev/sdb进行分区

使用fdisk /dev/sdb

在fdisk界面中,按照提示进行操作:

输入n并按Enter,开始新建分区。

输入p并按Enter,选择创建一个主分区。

选择分区编号(默认为1,可直接按回车)。

按提示完成分区大小的设置等步骤。

输入p并按Enter,查看新建分区的详细信息。

输入w并按Enter,将分区结果写入分区表中

 

这里分成三个分区,大小分别为2个10g一个20g,并将分区进行格式化。

[root@node1 ~]# mkfs.xfs -f /dev/sdb1

meta-data=/dev/sdb1              isize=512    agcount=4, agsize=655360 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=1, sparse=1, rmapbt=0

         =                       reflink=1

data     =                       bsize=4096   blocks=2621440, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0, ftype=1

log      =internal log           bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@node1 ~]# mkfs.xfs -f /dev/sdb2

meta-data=/dev/sdb2              isize=512    agcount=4, agsize=655360 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=1, sparse=1, rmapbt=0

         =                       reflink=1

data     =                       bsize=4096   blocks=2621440, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0, ftype=1

log      =internal log           bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@node1 ~]# mkfs.xfs -f /dev/sdb3

meta-data=/dev/sdb3              isize=512    agcount=4, agsize=1310720 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=1, sparse=1, rmapbt=0

         =                       reflink=1

data     =                       bsize=4096   blocks=5242880, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0, ftype=1

log      =internal log           bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

 

4.blkid /dev/sdb* 查看盘符 uuid

[root@node1 ~]# blkid /dev/sdb1

/dev/sdb1: UUID="12817e70-5164-441d-81dc-2653baceed0f" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="c7397cf2-01"

[root@node1 ~]#

[root@node1 ~]# blkid /dev/sdb2

/dev/sdb2: UUID="8cb8b262-ac7b-4e85-b6dc-8a6ec49cf929" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="c7397cf2-02"

[root@node1 ~]# blkid /dev/sdb3

/dev/sdb3: UUID="6d7d62d4-cdd2-4645-b364-8bcb1202d405" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="c7397cf2-03"

[root@node1 ~]#

[root@node1 ~]#

5.创建目录/dmdata,/dmbak,/dmarch并挂载

[root@node1 ~]# mkdir /dmdata

[root@node1 ~]# mkdir /dmbak

[root@node1 ~]# mkdir /dmarch

[root@node1 ~]# mount /dev/sdb1 /dmbak

[root@node1 ~]# mount /dev/sdb2 /dmarch

[root@node1 ~]# mount /dev/sdb3 /dmdata

[root@node1 ~]#cd /

root@node1 /]# chown dmdba:dinstall /dm* -R

[root@node1 /]# chmod 775 /dm* -R

[root@node1 ~]# df -Th

文件系统              类型      容量  已用  可用 已用% 挂载点

devtmpfs              devtmpfs  442M     0  442M    0% /dev

tmpfs                 tmpfs     469M     0  469M    0% /dev/shm

tmpfs                 tmpfs     469M   13M  456M    3% /run

tmpfs                 tmpfs     469M     0  469M    0% /sys/fs/cgroup

/dev/mapper/klas-root xfs        64G   51G   13G   81% /

tmpfs                 tmpfs     469M   76K  469M    1% /tmp

/dev/sda1             xfs      1014M  211M  804M   21% /boot

tmpfs                 tmpfs      94M     0   94M    0% /run/user/993

tmpfs                 tmpfs      94M     0   94M    0% /run/user/1000

/dev/sdb1             xfs        10G  104M  9.9G    2% /dmbak

/dev/sdb2             xfs        10G  104M  9.9G    2% /dmarch

/dev/sdb3             xfs        20G  176M   20G    1% /dmdata

 

 

6.设置开机自动挂载

设置开机自动挂载,编辑/etc/fstab文件。

[root@node1 ~]# cat /etc/fstab

 

#

# /etc/fstab

# Created by anaconda on Tue Jan  9 13:38:27 2024

#

# Accessible filesystems, by reference, are maintained under '/dev/disk/'.

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.

#

# After editing this file, run 'systemctl daemon-reload' to update systemd

# units generated from this file.

#

/dev/mapper/klas-root   /                       xfs     defaults        0 0

/dev/mapper/klas-backup /backup                 xfs     noauto        0 0

UUID=9209683e-81b9-4f44-b45b-0786e264b999 /boot                   xfs     defaults        0 0

/dev/mapper/klas-swap   none                    swap    defaults        0 0

UUID=12817e70-5164-441d-81dc-2653baceed0f  /dmbak   xfs  defaults       0 0

UUID=8cb8b262-ac7b-4e85-b6dc-8a6ec49cf929  /dmarch  xfs  defaults       0 0

UUID=6d7d62d4-cdd2-4645-b364-8bcb1202d405  /dmdata  xfs  defaults       0 0

 

 

7.网络规划和网络测速

1.ip地址规划为192.168.40.111

[root@node1 ~]# ifconfig

ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.40.111  netmask 255.255.255.0  broadcast 192.168.40.255

        inet6 fe80::c849:b4f9:aa57:285c  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:50:7b:f9  txqueuelen 1000  (Ethernet)

        RX packets 39642  bytes 33690799 (32.1 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 33765  bytes 9211060 (8.7 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

[root@node1 ~]#

 

2. 网络检测意义

对于单机数据库,主要检测业务网络。业务网络主要作用是应用服务器到数据库服务器连接数据库时,请求数据库进行相应的操作。如果业务网络带宽较低、丢包或延迟较大,会降低应用请求数据库效率。

对于集群,为确保集群的稳定性,原则要求建立并检测单独的心跳局域网络,不低于 1000M 带宽。心跳网络对 mal 系统的影响较大,如果网络丢包或者延迟较大,则会严重影响 mal 系统的处理能力,从而导致整个集群出现响应服务请求慢的情况。

 

3.网络配置以及速度是否正常

ethtool 是一个用于查询和控制网络接口卡(NIC)设置的命令行工具

[root@node1 ~]# ethtool ens32

Settings for ens32:

        Supported ports: [ TP ]

        Supported link modes:   10baseT/Half 10baseT/Full

                                100baseT/Half 100baseT/Full

                                1000baseT/Full

        Supported pause frame use: No

        Supports auto-negotiation: Yes

        Supported FEC modes: Not reported

        Advertised link modes:  10baseT/Half 10baseT/Full

                                100baseT/Half 100baseT/Full

                                1000baseT/Full

        Advertised pause frame use: No

        Advertised auto-negotiation: Yes

        Advertised FEC modes: Not reported

        Speed: 1000Mb/s   --当前链路速率为1000Mbps(1Gbps)

        Duplex: Full

        Port: Twisted Pair

        PHYAD: 0

        Transceiver: internal

        Auto-negotiation: on

        MDI-X: off (auto)

        Supports Wake-on: d

        Wake-on: d

        Current message level: 0x00000007 (7)

                               drv probe link

        Link detected: yes

[root@node1 ~]#

 

4.用scp进行测试网速

[kingbase@node1 ~]$ scp -r install.dir.1958/ kingbase@192.168.40.112:/home/kingbase/ceshi

 

Authorized users only. All activities may be monitored and reported.

kingbase@192.168.40.111's password:

installer.zip                                                                                                                                                  100% 6029KB   9.3MB/s   00:00

Resource1.zip                                                                                                                                                  100% 2470MB  30.4MB/s   01:21

 

5.查看网络信息

[root@node1 ~]# sar -n DEV 1 100

Linux 4.19.90-24.4.v2101.ky10.x86_64 (node1)    2025年01月24日  _x86_64_        (2 CPU)

 

17时34分39秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil

17时34分40秒     ens32      7.00     10.00      0.41      3.31      0.00      0.00      0.00      0.00

17时34分40秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

17时34分40秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil

17时34分41秒     ens32      7.00     11.00      0.41      3.66      0.00      0.00      0.00      0.00

17时34分41秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

17时34分41秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil

17时34分42秒     ens32      6.00      9.00      0.35      3.43      0.00      0.00      0.00      0.00

17时34分42秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

....

 

命令 sar -n DEV 1 100 的含义如下:

sar:调用系统活动报告工具。

-n DEV:指定要收集并报告的数据类型。-n 选项用于网络统计,而 DEV 参数指定要显示网络设备(如网络接口)的统计信息。

1:这是采样间隔,表示命令将每秒收集一次数据。

100:这是计数次数,表示命令将总共收集 100 次数据。因此,这个命令将持续运行 100 秒,每秒报告一次网络设备的统计信息。

 

sar -n DEV 1 100 #备注:

#IFACE 本地网卡接口的名称

#rxpck/s 每秒钟接受的数据包

#txpck/s 每秒钟发送的数据库

#rxKB/S 每秒钟接受的数据包大小,单位为 KB

#txKB/S 每秒钟发送的数据包大小,单位为 KB

#rxcmp/s 每秒钟接受的压缩数据包

#txcmp/s 每秒钟发送的压缩包

#rxmcst/s 每秒钟接收的多播数据包

 

 

8.修改 sdb磁盘的调度算法

检查 sdb磁盘的调度算法

 [root@node1 ~]# cat /sys/block/sdb/queue/scheduler

mq-deadline kyber [bfq] none

[root@node1 ~]#

调度算法是[bfq],需要修改调度算法为 deadline。

 echo deadline > /sys/block/sdb/queue/scheduler

[root@node1 ~]#

[root@node1 ~]#  echo deadline > /sys/block/sdb/queue/scheduler

[root@node1 ~]# cat /sys/block/sdb/queue/scheduler

[mq-deadline] kyber bfq none

[root@node1 ~]#

[root@node1 ~]#

 

 

9.关闭 numa

1.关闭的意义

NUMA(Non-Uniform Memory Access)架构是为了解决多 CPU 下内存访问冲突,即不再将整个物理内存作为一个整体,而是根据不同的 CPU 区分不同的内存块,如 2 颗 CPU 每颗 CPU 使用 64G 内存。当 NUMA 参数 zone_reclaim_mode 设置为 1 时,内核将要求多路 CPU 尽量从距离较近的系统内存节点(服务器的整体内存在 numa 架构下将被分成若干个节点)分配内存,而不是在整个服务器可访问内存的范围内进行内存分配。因此,在较高内存占用压力下,内存申请会触发内存频繁回收整理的机制,严重影响系统整体性能(长期处于内核态 sys 很高),进而可能导致 SQL 卡顿问题的发生。

2.编辑 grub 文件,加上:numa=off

[root@node1 ~]# vi /etc/default/grub

[root@node1 ~]#

[root@node1 ~]# cat /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high numa=off"

GRUB_DISABLE_RECOVERY="true"

[root@node1 ~]#

 

3.重新生成 /etc/grub2.cfg 配置文件

[root@node1 ~]# grub2-mkconfig -o /etc/grub2.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-4.19.90-24.4.v2101.ky10.x86_64

Found initrd image: /boot/initramfs-4.19.90-24.4.v2101.ky10.x86_64.img

Found linux image: /boot/vmlinuz-0-rescue-060881dab46d41f99f3388f5effafd23

Found initrd image: /boot/initramfs-0-rescue-060881dab46d41f99f3388f5effafd23.img

Done

 

4.重启操作系统

[root@node1 ~]#reboot

 

5.重启后确认

[root@node1 ~]# dmesg|grep -i numa

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.19.90-24.4.v2101.ky10.x86_64 root=/dev/mapper/klas-root ro resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high numa=off

[    0.061628] NUMA turned off

[    0.418084] Kernel command line: BOOT_IMAGE=/vmlinuz-4.19.90-24.4.v2101.ky10.x86_64 root=/dev/mapper/klas-root ro resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high numa=off

[root@node1 ~]# cat /proc/cmdline

BOOT_IMAGE=/vmlinuz-4.19.90-24.4.v2101.ky10.x86_64 root=/dev/mapper/klas-root ro resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high numa=off

[root@node1 ~]#

[root@node1 ~]#

 

 

10.禁用透明大页

1.禁用的意义

Transparent HugePages (透明大页)对系统的性能产生影响的原因:
在 khugepaged 进行扫描进程占用内存,并将 4k Page 交换为 Huge Pages 的这个过程中,对于操作的内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能。并且,这个过程对于应用是透明的,在应用层面不可控制,对于专门为 4k page 优化的程序来说,可能会造成随机的性能下降现象。

 

2.查看是否开启

[root@node1 ~]# grep -i huge /proc/meminfo

AnonHugePages:     28672 kB

ShmemHugePages:        0 kB

HugePages_Total:       0

HugePages_Free:        0

HugePages_Rsvd:        0

HugePages_Surp:        0

Hugepagesize:       2048 kB

Hugetlb:               0 kB

[root@node1 ~]#

 

[root@node1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

[root@node1 ~]#

从上面输出可以看到,每个页的大小为 2MB(Hugepagesize),并且系统中目前有 0 个“大内存页”(HugePages_Total)

 

3.修改关闭透明大页

[root@node1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

[root@node1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]

[root@node1 ~]#

 

4.永久修改

##永久修改 ##编辑/etc/default/grub文件,在 “GRUB_CMDLINE_LINUX=” 配置参数结尾加入 “transparent_hugepage=never”,如下:transparent_hugepage=never

 

[root@node1 ~]# vi /etc/default/grub

[root@node1 ~]# cat /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high numa=off transparent_hugepage=never"

GRUB_DISABLE_RECOVERY="true"

[root@node1 ~]#

[root@node1 ~]#

[root@node1 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-4.19.90-24.4.v2101.ky10.x86_64

Found initrd image: /boot/initramfs-4.19.90-24.4.v2101.ky10.x86_64.img

Found linux image: /boot/vmlinuz-0-rescue-060881dab46d41f99f3388f5effafd23

Found initrd image: /boot/initramfs-0-rescue-060881dab46d41f99f3388f5effafd23.img

Done

 

5.重启后确认

[root@node1 ~]# grep -i huge /proc/meminfo

AnonHugePages:         0 kB

ShmemHugePages:        0 kB

HugePages_Total:       0

HugePages_Free:        0

HugePages_Rsvd:        0

HugePages_Surp:        0

Hugepagesize:       2048 kB

Hugetlb:               0 kB

[root@node1 ~]#

[root@node1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]

[root@node1 ~]#

 

 

11.调整 sysctl.conf 参数

1.调整项介绍

配置参数 overcommit_memory 表示系统的内存分配策略可以选值为 0,1,2。

0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1:表示内核允许分配所有的物理内存,不管当前的内存状态如何。

2:表示内核允许分配超过所有物理内存和交换空间总和的内存。

 

2.临时修改

[root@node1 ~]# cat /proc/sys/vm/overcommit_memory

2

[root@node1 ~]# echo 0 > /proc/sys/vm/overcommit_memory

[root@node1 ~]# cat /proc/sys/vm/overcommit_memory

0

[root@node1 ~]#

 

3.永久修改

编辑配置文件/etc/sysctl.conf修改参数

[root@node1 ~]#

[root@node1 ~]# vi /etc/sysctl.conf

vm.overcommit_memory = 0

fs.file-max = 6553560
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern = /dmdata/core.%e.%p.%t
vm.swappiness=10
vm.dirty_background_ratio = 0
vm.min_free_kbytes = 2097152

 

4.使用sysctl -p生效

[root@node1 ~]# sysctl -p

 

 

 

12.调整 limits.conf 参数

调整 limits.conf 参数

[root@node1 ~]# vi /etc/security/limits.conf

##在最后面添加以下内容

dmdba soft nice 65536

dmdba hard nice 65536

dmdba soft as unlimited

dmdba hard as unlimited

dmdba soft fsize unlimited

dmdba hard fsize unlimited

dmdba soft nproc 65536

dmdba hard nproc 65536

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft data unlimited

dmdba hard data unlimited

 

[root@node1 ~]#

[root@node1 ~]# ulimit -a

core file size          (blocks, -c) unlimited

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 7631

max locked memory       (kbytes, -l) unlimited

max memory size         (kbytes, -m) unlimited

open files                      (-n) 655360

pipe size            (512 bytes, -p) 8

POSIX message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 655360

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

[root@node1 ~]#

[root@node1 ~]#

 

 

13.调整 system.conf 参数

 

调整 system.conf 参数

##编辑配置文件 /etc/systemd/system.conf

[root@dm~]# vim /etc/systemd/system.conf

##添加配置:

DefaultLimitNOFILE=65536

DefaultLimitNPROC=10240

 

[root@node1 ~]# vi /etc/systemd/system.conf

[root@node1 ~]# ulimit -a

core file size          (blocks, -c) unlimited

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 7631

max locked memory       (kbytes, -l) unlimited

max memory size         (kbytes, -m) unlimited

open files                      (-n) 655360

pipe size            (512 bytes, -p) 8

POSIX message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 655360

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

 

[root@node1 ~]#reboot

保存退出后需要重启服务器才能生效。

 

 

14.创建用户组和用户

[root@node1 ~]# groupadd dinstall -g 2001

[root@node1 ~]# useradd -g dinstall dmdba -u 1001

[root@node1 ~]# passwd dmdba

更改用户 dmdba 的密码 。

新的 密码:

无效的密码: 太短

无效的密码: 过于简单

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@node1 ~]#

 

 

15.调整 nproc.conf 参数

1.编辑配置文件 /etc/security/limits.d/nproc.conf

[root@node1 ~]# vi /etc/security/limits.d/nproc.conf

##添加配置:

dmdba soft nproc 65536

dmdba hard nproc 65536

[root@node1 limits.d]# cat nproc.conf

dmdba soft nproc 65536

dmdba hard nproc 65536

 

 

2.确定是否生效:

[root@node1 ~]# su - dmdba

[dmdba@node1 ~]$ ulimit -u

65536

[dmdba@node1 ~]$

[dmdba@node1 ~]$

[root@node1 limits.d]#

 

 

16.调整 profile 参数

1.创建目录修改属主

[root@node1 ~]# mkdir /dm8

[root@node1 ~]# chown dmdba:dinstall /dm8 -R

[root@node1 ~]# chmod 777 /dm8-R

[root@node1 ~]#su - dmdba

[dmdba@node1 ~]$ vi .bash_profile

export DM_HOME="/dm8/dmdbms"

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

 

[dmdba@node1 ~]$

 

2.source生效

[dmdba@node1 ~]$ source .bash_profile

[dmdba@node1 ~]$

[dmdba@node1 ~]$ echo $DM_HOME

/dm8

[dmdba@node1 ~]$

 

 

17.调整 login

 

调整 login

[root@node1 ~]# vi /etc/pam.d/login

session  required  /lib64/security/pam_limits.so

session  required  pam_limits.so

 

 

最后修改时间:2025-01-30 19:46:39
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论