20210601

一、调整系统的共享内存上限
今天遇到创建32个大小为100MB的共享内存失败。
原因是创建的共享内存总大小超过了系统允许的共享内存上限。
查询系统共享内存上限的命令是 ipcs -l:

[ops@g-null kernel]$ ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 3139174
max total shared memory (kbytes) = 3139172
min seg size (bytes) = 1

------ Semaphore Limits --------
略
------ Messages: Limits --------
略

可以看到允许申请的共享内存段数是4096,每个共享内存段最大3139174KB,系统共享内存总和的上限是3139172。
是”max total shared memory“这一项超限了,需要把这个值调大。
方法是设置内核参数 kernel.shmall

// 因为kernel.shmall 的单位是 page,所以要除以page_size
[ops@gzqc12-null-192-gzqc12-172_28_12_192-null kernel]$ getconf PAGE_SIZE
4096

// 假设我想把上限调成 5GB, 5 * 1024 * 1024 * 1024 / 4096 = 1310720
[ops@gzqc12-null-192-gzqc12-172_28_12_192-null sysctl -w kernel.shmall=1310720

详见:https://www.cnblogs.com/dkblog/archive/2011/09/06/2168721.html

这里有点坑,sysctl -w 的方式只是临时修改,重启后仍会失效。 永久修改的方法是,vi /etc/sysctl.conf

[root@vaqc-172_25_32_40-null log]# cat /etc/sysctl.conf
net.core.wmem_default = 2097152
net.core.rmem_default = 2097152
net.ipv4.tcp_rmem = 4096 2048000 4194304
net.ipv4.tcp_wmem = 4096 2048000 4194304
net.core.rmem_max = 51200000
net.core.wmem_max = 51200000
net.core.somaxconn = 1024
vm.overcommit_memory = 1
kernel.msgmnb = 20971520
kernel.msgmax = 65536
kernel.shmmax = 3212836864
kernel.shmall = 2097152 #把这一项改成 2097152,也就是 8GB/4096KB
kernel.panic = 5

二、如何查看系统CPU占用
在top命令启动后,按大写的 P 可以对进程按cpu使用率排序。(顺便一提:大写M则是按内存占用排序)
在top命令启动后,按数字键 1 可以显示各核心的使用率
在top命令启动后,按小写 m 可以显示系统内存使用统计

三、查看CPU核数、算力等

[root@gzqc-172_24_28_115-null kernel]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8 //核心数
On-line CPU(s) list:   0-7
Thread(s) per core:    1
Core(s) per socket:    8
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Stepping:              5
CPU MHz:               2494.140 //频率
BogoMIPS:              4988.28 //算力
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
L3 cache:              36608K
NUMA node0 CPU(s):     0-7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值