---
title: OpenEuler 20.03 Arm架构程序申请相同数量的进程时，内存占用相比于x86大很多-昇腾社区
description: 检索业务从x86服务器上向arm服务器上迁移时，相同的容器环境下（内存为64M），发现程序申请相同数量的进程，在openEuler 20.03 Arm架构服务器上出现内存空间不足的问题。如图1所示。 “/dev/shm ” 目录dev == device，shm == shared memory，该目录是 linux 操作系统利用内存虚拟出来的目录，此目录中的文件都保存在内存中。
keywords: openEuler;进程;内存
url: https://www.hiascend.com/document/caselibrary/detail/case_9288
section: (其他)
---

# OpenEuler 20.03 Arm架构程序申请相同数量的进程时，内存占用相比于x86大很多-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/case_9288
描述: 检索业务从x86服务器上向arm服务器上迁移时，相同的容器环境下（内存为64M），发现程序申请相同数量的进程，在openEuler 20.03 Arm架构服务器上出现内存空间不足的问题。如图1所示。 “/dev/shm ” 目录dev == device，shm == shared memory，该目录是 linux 操作系统利用内存虚拟出来的目录，此目录中的文件都保存在内存中。
关键词: openEuler;进程;内存

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

OpenEuler 20.03 Arm架构程序申请相同数量的进程时，内存占用相比于x86大很多

OpenEuler 20.03 Arm架构程序申请相同数量的进程时，内存占用相比于x86大很多

2024/02/22

2k

问题信息

| 问题来源 | 产品大类 | 产品子类 | 关键字 |
| --- | --- | --- | ---|
| 官方 | 安装部署 | 驱动固件 | openEuler、进程、内存 |

#### 问题现象描述

检索业务从x86服务器上向arm服务器上迁移时，相同的容器环境下（内存为64M），发现程序申请相同数量的进程，在openEuler 20.03 Arm架构服务器上出现内存空间不足的问题。如图1 [了解详情](https://www.hiascend.com/#ZH-CN_TOPIC_0000001716080261__fig7407631142813)所示。

图1详细信息

“/dev/shm ” 目录dev == device，shm == shared memory，该目录是 linux 操作系统利用内存虚拟出来的目录，此目录中的文件都保存在内存中。

#### 原因分析

相同条件下， x86架构下linux系统pagesize默认为4kb ，而openEuler 20.03 Arm版本默认pagesize为64kb，会造成内存浪费现象，修改为4kb则可以解决问题。

因此，pagesize大可以提高缓存利用率，提高磁盘I/O；而pagesize小可以减少内存浪费。对用户来说，有些业务追求速度，有些业务预先分配内存，追求硬件资源极致利用。

#### 排查方法

1. 打印信息。

uname -a
2. 查询内存大小。

getconf PAGESIZE

4kb 对应 4096，64kb 对应65536。

#### 解决措施

- 将openEuler 升级为22.03版本，此版本Pagesize默认为4kb。
- 修改内核参数 Pagesize为4kb（需要重新编译内核）。

1. 安装依赖

yum install tar openssl-devel ncurses-devel bison m4 flex bc
2. 手动下载 kernel包，参见https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP3/source/Packages/kernel-4.19.90-2112.8.0.0131.oe1.src.rpm [了解详情](https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP3/source/Packages/kernel-4.19.90-2112.8.0.0131.oe1.src.rpm)。
3. 下载完成后执行以下命令安装软件包。

rpm -ivh kernel-4.19.90-2112.8.0.0131.oe1.src.rpm

cd /root/rpmbuild/SOURCES

tar xzf kernel.tar.gz

cd kernel

make menuconfig
4. 配置参数。
5. 编译重启。

make -j8

make modules_install -j8

make install -j8

grub2-set-default 0 &amp;&amp; reboot

8指cpu核心数，需要确认相应修改。

验证结果如下

本页内容

- 问题信息
- 问题现象描述
- 原因分析
- 排查方法
- 解决措施
