【shell资源限制】RLIMIT_MEMLOCK too small
在使用MPI时遇到了资源受限的报错
RLIMIT_MEMLOCK too small
这是由于shell默认的资源不足造成的
可以使用ulimite
命令解决
1.Ulimite
遇到RLIMIT_MEMLOCK too small
报错主要是由于默认设置的资源不足以完成指令,特别是在MPI运行多个线程时会出现这样的问题,根据提示来修改当前shell所需要的资源大小。首先可以利用ulimite -a
查看当前默认分配的资源:
>>> ulimit -a
>>>
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) 7220
max locked memory (kbytes, -l) 64 <<<<<这里就是报错的位置
max memory size (kbytes, -m) unlimited
open files (-n) 1000000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 7220
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我们看到报错的位置locked memory只有64k,需要放大这个资源限制:
# 直接设成不受限
ulimit -l unlimited
# 再查看结果
>>> 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) 772787
max locked memory (kbytes, -l) unlimited <<<<<<已经修改成不受限
max memory size (kbytes, -m) unlimited
open files (-n) 1000000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 772787
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
2.shell资源管理
此外可以利用ulimit -h
查看更多使用请看
> ulimit --help
> >>
Syntaxulimit [-abcdefHilmnpqrsStTuvx] [limit]Key-S Set a soft limit for the given resource.-H Set a hard limit for the given resource.-a All current limits are reported.-b The maximum socket buffer size.-c The maximum size of core files created. -d The maximum size of a process's data segment.-e The maximum scheduling priority ("nice") -f The maximum size of files created by the shell(default option).-i The maximum number of pending signals.-l The maximum size that can be locked into memory. -m The maximum resident set size. -n The maximum number of open file descriptors. -p The pipe buffer size.-q The maximum number of bytes in POSIX message queues.-r The maximum real-time scheduling priority.-s The maximum stack size. -t The maximum amount of cpu time in seconds.-T The maximum number of threads.-u The maximum number of processes available to a single user.-v The maximum amount of virtual memory available to the process.-x The maximum number of file locks.# from:https://ss64.com/bash/ulimit.html
ref:ulimit, 详解1, 详解2,原始解决方法,修改core文件大小, shell详细资源管理,detail,其他资源管理方法
pic from pexels.com
【shell资源限制】RLIMIT_MEMLOCK too small相关推荐
- Linux 命令之 ulimit 命令-控制shell程序的资源
文章目录 介绍 常用选项 参考示例 介绍 用来限制系统用户对 shell 资源的访问.如果不懂什么意思,下面一段内容可以帮助你理解: 假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个 ...
- 关于shell脚本编程一些有用资源的小结
系统维护管理过程中,编写一些能减轻管理负担的shell脚本是个明智的做法,一些例程性的事务,shell脚本会比手动操作高效的多.我有时也要编写一些,总结了一些学习及参考的shell资料,实用好用为主, ...
- shell的嵌入命令大全
围绕以下几点展开学习: 1.什么是shell的嵌入命令? 2.为什么使用shell? 3.怎样使用shell嵌入命令? 1.什么是shell的嵌入命令: ♦这些命令是在实际的Bourne shell里 ...
- Shell脚本学习-阶段二十七-命令解释三
文章目录 前言 quyotastats repquota convertquota swapoff swapon sync chroot getent last lastb lastlog logro ...
- linux 可运行的最大 线程 进程 数
cat /proc/sys/kernel/threads-max 查系统支持的最大线程数,一般会很大,相当于理论值 该命令在不同的机器上 值不一样. 在centos 服务器上面 : 513845 在u ...
- linux如何运行用户程序,Linux系统下,如何以其他用户身份运行程序
#1:runuser命令 runuser命令使用一个替代的用户或者组ID运行一个Shell.这个命令仅在root用户时有用. 仅以会话PAM钩子运行,并且没有密码提示.如果用一个非root用户,并且该 ...
- 【Linux】一步一步学Linux——ulimit命令(218)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 总结 06. 附录 01. 命令概述 ulimit命令用来限制系统用户对shell ...
- Puppet 命令参数介绍(三)
Puppet 命令参数介绍 前言: Puppet的工作原理: puppet master启动默认是监听tcp协议的8140端口.通过ruby的webrick web接收agent端的请求,根据请求内容 ...
- MySQL CPU性能定位
墨墨导读:经常会看到看到cpu 使用率非常高的情况.在这种情况下,资源的使用监控分析才是性能故障分析的根本首要任务,通过这些分析,理解服务器如何运行,资源损耗在哪些方面对问题进行故障诊断是非常有价值有 ...
最新文章
- AFNetWorking 队列请求
- dubbo自定义异常传递信息丢失问题解决
- python 之 collections
- OpenCV使用dnn重新着色灰度图像的实例(附完整代码)
- 文献记录(part7)--An Improved Biclustering Algorithm and Its Application to Gene Expression ...
- 陪我长大的村,镇,学校和家乡
- 程序员面试金典 - 面试题 17.12. BiNode(BST中序遍历)
- Iterator(迭代器)遍历Collection集合元素
- “王者对战”之 MySQL 8 vs PostgreSQL 10
- java连接ftp一直阻塞
- 风向风速传感器原理及应用
- Hexo/Github.io 配置腾讯云CDN
- Python读取scel文件
- 5G无线接入网架构及关键技术
- 原生js页面滚动顶部显示滚动总进度条效果
- 对于电商尺码跟颜色组成的表格输入框,对输入框的操作
- 有效处理Java异常三原则
- Eureka工作原理(Eureka简介Eureka ServerEureka Client自我保护机制分布式系统中的CAP理论Eureka 工作流程)
- lyapunov直接法
- andy学java系列之J2ME的移动支付系统的设计与实现
热门文章
- 右键文件夹电脑卡死?
- np.unique( )--去除数组中的重复数字,并进行排序之后输出
- Python os.walk() 方法--输出在目录中的文件名
- 抓住那只喵(HTML5-神经猫)
- android view过度动画,为View的切换添加过渡动画
- Mybatis(15)Mybatis延迟加载/缓存
- filezilla:阿里云 win10 服务器文件传输(上传和下载)的配置教程
- IE浏览器兼容性处理与提示
- 易优cms红色风格春节年货礼品公司网站模板源码
- 支付宝五福53张自动领取程序 v2021