首页 > 编程知识 正文

linux top命令详解,linux tar

时间:2023-05-06 20:33:13 阅读:154319 作者:4668

一、抛异常先投异常: Java.io.file not found exception : (* * * * * ) ) Too many open files。

这是因为linux限制了一个会话中同时打开的最大文件数。

使用命令显示:

ulimit -n //默认值为1024

临时更改(禁用会话终止) :

ulimit -n XXXX

按如下方式添加到永久更改(修改/etc/security/limits.conf文件以设置用户打开的最大文件数)文件的末尾: 推荐具体大小为65536

* - nofile 65536

请注意,对于type类型,nofile参数有两个选择。 硬件和软件。 这两个值都必须设置。 “-”表示将这两个值都设置为后面的数字。

hard limit只能作为soft limit的上限,soft limit才是您设置的系统的当前限制。 谦让的红牛设定了hard limit后,soft limit的值必须小于hard limit。 普通用户可以降低hard limit的值,但不能提高。 只有root用户才能提高硬件限制。

参考版本:

* hard nproc 64000

* soft nproc 64000

*硬件文件64000

* soft nfile 64000

*软件堆栈限制

*软件核心有限

*软件核心有限

*硬件核心有限

* soft memlock 250000000

* hard memlock 250000000

* - nofile 65536

33558www.Sina.com/root用户更改为65536后,其他用户登录服务器以检测是ulimit -n还是1024。 那么,该用户无效。

使用33558www.Sina.com/root用户执行以下操作:

vi /etc/ssh/sshd_config

将# UseLogin no更改为:

使用log in yes

如果没有升级//ssh,请按如下方式添加修改

使用是

重新启动sshd服务:

服务存储重新开始

修改/etc/pam.d/login

#请注意,添加以下内容以写下您自己的系统pam_limits.so的绝对路径

session required/usr/lib 64/security/PAM _ limits.so

修改/etc/security/limits.d/的配置文件

[root@localhost limits.d]# ll

总使用量8

-rw-r----r----1路由路由727月20日1533603120-nofile.conf

-rw-r----r----1路由路由747月20日1533603120-nproc.conf

如下图所示。

二、root用户修改后其他用户不生效如果还不行,建议升级openssh或重新安装openssh。 (实际上进行了更改,但其他用户只是在查看默认值。) ) ) ) ) )。

如果您直接使用其他用户(如test )登录,然后ulimit -n仍然为1024,并且您很着急,请尝试使用root用户登录,切换到test用户,然后再尝试操作。

3358 www.Sina.com/http://www.Sina.com/ulimit 3358 www.Sina.com/ulimit命令用于限制系统用户对shell资源的访问

1. 方案一

假设有10个用户同时登录到一台Linux主机,并且在系统资源有限的情况下,这10个用户同时打开了500个文档。 假设一个文档的大小为10米,则系统的内存资源会带来巨大的挑战,实际使用的环境比这个假设要复杂得多。

例如,在嵌入式开发环境中,所有方面的资源

都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联 系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。

ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。

作为临时限制,ulimit 可以作用于通过使用其命令登录的 shell 会话,在会话终止时便结束限制,并不影响于其他 shell 会话。而对于长期的固定限制,ulimit 命令语句又可以被添加到由登录 shell 读取的文件中,作用于特定的 shell 用户。

2. 语法格式

语法如下:

[root@localhost limits.d]# ulimit unlimited

选项如下:

-a:显示目前资源限制的设定;
-c <core文件上限>:设定core文件的最大值,单位为区块;
-d <数据节区大小>:程序数据节区的最大值,单位为KB;
-f <文件大小>:shell所能建立的最大文件,单位为区块;
-H:设定资源的硬性限制,也就是管理员所设下的限制;
-m <内存大小>:指定可使用内存的上限,单位为KB;
-n <文件数目>:指定同一时间最多可开启的文件数;
-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
-s <堆叠大小>:指定堆叠的上限,单位为KB;
-S:设定资源的弹性限制;
-t <CPU时间>:指定CPU使用时间的上限,单位为秒;
-u <程序数目>:用户最多可开启的程序数目;
-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。

实例如下:

[root@localhost limits.d]# ulimit  -a                
core file size          (blocks, -c) 0                #core文件的最大值为100 blocks。
data seg size           (kbytes, -d) unlimited      #进程的数据段可以任意大。
scheduling priority             (-e) 0              
file size               (blocks, -f) unlimited      #文件可以任意大。
pending signals                 (-i) 7184           #最多有98304个待处理的信号。
max locked memory       (kbytes, -l) 64             #一个任务锁住的物理内存的最大值为32KB。
max memory size         (kbytes, -m) unlimited      #一个任务的常驻物理内存的最大值。
open files                      (-n) 655360         #一个任务最多可以同时打开1024的文件。
pipe size            (512 bytes, -p) 8              #管道的最大空间为4096字节。
POSIX message queues     (bytes, -q) 819200         #POSIX的消息队列的最大值为819200字节。
real-time priority              (-r) 0              
stack size              (kbytes, -s) 8192           #进程的栈的最大值为10240字节。
cpu time               (seconds, -t) unlimited      #进程使用的CPU时间。
max user processes              (-u) 7184           #当前用户同时打开的进程(包括线程)的最大个数为98304。
virtual memory          (kbytes, -v) unlimited      #没有限制进程的最大地址空间。
file locks                      (-x) unlimited      #所能锁住的文件的最大个数没有限制。

【Tips】

查看系统可接受的最大打开文件数(一般默认已足够,不用修改)

[root@localhost limits.d]# cat /proc/sys/fs/file-max179721

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。