1、总结系统限制有:
    /proc/sys/kernel/pid_max #查系统支持的最大线程数,一般会很大,相当于理论值
    /proc/sys/kernel/thread-max
    max_user_process(ulimit -u) #系统限制某用户下最多可以运行多少进程或线程
    /proc/sys/vm/max_map_count    硬件内存大小

2、Java虚拟机本身限制:
    -Xms  #intial java heap size
    -Xmx  #maximum java heap size
    -Xss  #the stack size for each thread

3、查询当前某程序的线程或进程数
pstree -p `ps -e | grep java | awk '{print $1}'` | wc -l

pstree -p 3660 | wc -l

4、查询当前整个系统已用的线程或进程数

pstree -p | wc -l

5、其他

top -p {pid}

pstree -p {pid}


命令ulimit的格式:
ulimit [-acdfHlmnpsStuv] [limit]
在查看的命令后面加上限制值,就可以调整某一项限制,但只对当前登录shell有效。
 参数S表示设置软限制;参数H表示设置硬限制;当都不指定时,表示设置软限制和硬限制均为指定值。
   -S   Set a soft limit for the given resource                    #设置给定资源的软限制
-H Set a hard limit for the given resource                   #设置给定资源的硬限制
-a All current limits are reported.                        #显示当前所有限制的内容
-c The maximum size of core files created.                    #-c <core文件上限> 设定core文件的最大值,单位为区块。
-d The maximum size of a process's data segment.                 #-d <数据节区大小>  程序数据节区的最大值,单位为KB。
-f The maximum size of files created by the shell(default option) #-f <文件大小>  shell所能建立的最大文件,单位为区块。 
-l The maximum size that can be locked into memory.               #可以锁定的物理内存的最大值
-m The maximum resident set size.                          #可以使用的常驻内存的最大值,单位:kbytes
-n The maximum number of open file descriptors.                 #每个进程可以同时打开的最大文件数
-p The pipe buffer size.                               #设置管道的最大值,单位为block,1block=512bytes
-s The maximum stack size.                              #指定堆栈的最大值:单位:kbytes
-t The maximum amount of cpu time in seconds.                  #指定每个进程所使用的秒数,单位:seconds
-u The maximum number of processes available to a single user.        #每个用户运行的最大进程并发数
-v The maximum amount of virtual memory available to the process.      #当前shell可使用的最大虚拟内存
$ ulimit -a
core file size (blocks, -c) 100      #文件的最大值为100 blocks          
data seg size (kbytes, -d) unlimited   #进程的数据段可以任意大 unlimited不限制
scheduling priority (-e)
file size (blocks, -f) unlimited #文件可以任意大
pending signals (-i) 16382 #最多有16382个待处理的信号
max locked memory (kbytes, -l) 64 #一个任务锁住的物理内存的最大值为64kB
max memory size (kbytes, -m) unlimited #一个任务的常驻物理内存的最大值
open files (-n) 1024 #一个任务最多可以同时打开1024的文件
pipe size ( bytes, -p) 8 #管道的最大空间为4096字节
POSIX message queues (bytes, -q) 819200      #POSIX的消息队列的最大值为819200字节
real-time priority (-r)
stack size (kbytes, -s) 8192       #进程的栈的最大值为8192字节
cpu time (seconds, -t) unlimited    #进程使用的CPU时间
max user processes (-u) unlimited    #当前用户同时打开的进程(包括线程)的最大个数
virtual memory (kbytes, -v) unlimited    #没有限制进程的最大地址空间
file locks (-x) unlimited    #所能锁住的文件的最大个数没有限制

Example:

1、修改linux对于每个用户,系统限制其最大进程数 设置linux用户的最大进程数,如10000

ulimit -u 

2、对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,需要设置每个进程可打开的文件数,缺省值是 1024。

ulimit -n 

3、CPU 时间

ulimit -t unlimited

永久修改ulimit值  ------/etc/security/limits.conf

limits.conf-pam_limits模块的配置文件

<domain> <type> <item> <value>

  • domain 是指生效实体

    • 用户名
    • 也可以通过@group指定用户组
    • 使用*表示默认值
  • type指限制类型
    • soft软限制
    • hard硬限制
  • item限制资源
    • coreulimit -c
    • dataulimit -d
    • fsizeulimit -f
    • memloculimit -l
    • nofileulimit -n
    • stackulimit -s
    • cpu 同ulimit -t
    • nproculimit -u
    • maxlogins指定用户可以同时登陆的数量
    • maxsyslogins系统可以同时登陆的用户数
    • priority用户进程运行的优先级
    • locks用户可以锁定的文件最大值
    • sigpengdingulimit -i
    • msgqueueulimit -q

Linux系统的限制的更多相关文章

  1. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  2. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  3. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  4. 玩转 Linux 系统的方法论

    Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...

  5. Linux 系统中发博客必备的五大图片处理神器

    发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...

  6. 探索 Linux 系统的启动过程

    引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...

  7. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  8. 如何重置硬盘遭到“损坏”的Linux系统root用户密码

    传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...

  9. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  10. 如何配置Linux系统的网络IP地址

    一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...

随机推荐

  1. 实验吧-密码学-他的情书(进一步了解js代码调试和console.log)

    打开网站,在白色背景下的任一点上点击鼠标,白色部分都会消失(包括password输入框),那么就无法输入. 查看源码,发现是明显的从源码解决问题. 火狐F12查看器查看源码(如果是简单的操作,可以vi ...

  2. stl 题目总结

    stl 题目总结 一.圆桌问题 1 .问题: 圆桌上围坐着2n个人.其中n个人是好人,另外n个人是坏人.如果从第一个人开始数数,数到第m个人,则立即处死该人:然后从被处死的人之后开始数数,再将数到的第 ...

  3. 封装localStorage设置,获取,移除方法

    export const local = { set(key, value) { localStorage.setItem(key, JSON.stringify(value)); }, get(ke ...

  4. python3.7使用etree遇到的问题

    使用python3.6时安装好lxml时按照许多网上的教程来引入会发现etree没被引入进来 解决办法: 一.import lxml.htmletree = lxml.html.etree这样就可以使 ...

  5. cf 453A.Little Pony and Expected Maximum

    水了一上午.. 拿6面举例子吧,因为是投掷m次取最大,最大是1概率(1/6)^m;最大是2就可以取到(1,2)那么概率就是(1/3)^m-(1/6)^m.(当前减去上一个) #include<b ...

  6. swift中利用系统线程实现异步加载数据同步更新UI

    swift中的使用案例样式 // Mark: -数据源更新 typealias AddDataBlock = () ->Void var updataBlock:AddDataBlock? fu ...

  7. ACM&OI 基础数论算法专题

    ACM&OI 基础数学算法专题 一.数论基础 质数及其判法 (已完结) 质数的两种筛法 (已完结) 算数基本定理与质因数分解 (已完结) 约数与整除 (已完结) 整除分块 (已完结) 最大公约 ...

  8. 2,StructuredStreaming的事件时间和窗口操作

    推荐阅读:1,StructuredStreaming简介 使用Structured Streaming基于事件时间的滑动窗口的聚合操作是很简单的,很像分组聚合.在一个分组聚合操作中,聚合值被唯一保存在 ...

  9. 启动运行python3时 UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 170: illegal multibyte sequence

    重现 在cmd中输入Python,运行后,出现以下错误: Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64 ...

  10. [前端] VUE基础 (9) (element-ui、axios、Vuex)

    一.element-ui的使用 官方网页:https://element.eleme.cn/#/zh-CN 1.安装element-ui (venv) D:\pycharm_workspace\vue ...