Questions tagged «limit»

通过一个进程或一组进程来限制资源的使用(内存,磁盘空间,CPU时间,打开的文件,网络带宽等)。

3
可以使“ du”程序的攻击性降低吗?
我们有一份常规工作,负责du汇总多个子目录,找出最严重的违规者,然后使用输出结果来查找是否有事情在迅速上升以发现潜在问题。我们使用diff快照来比较它们。 有一个顶级目录,其中包含许多(几百个)子目录,每个子目录可能包含十个(数千个)(或更多)文件。 du -s在这种情况下,“ ”可能会激增IO的侵略性,从而导致我们的服务器抢占其缓存,然后出现大量的IO峰值,这是非常不受欢迎的副作用。 可以使用什么策略来获取相同的数据,而不会产生不必要的副作用?
21 disk-usage  io  limit 

3
限制特定外壳的Internet带宽使用
我想在一个外壳中更新我的Linux,但默认情况下,更新程序中的wget或axel使用所有带宽。 如何限制此外壳的速度? 我希望其他shell能够公平共享,并限制该shell中的所有内容-就像代理! 我使用Zsh和Arch Linux。 这个问题侧重于流程范围或会话范围的解决方案。请参阅如何限制网络带宽?适用于Linux上的系统级或容器级解决方案。

3
使用ImageMagick创建PDF超过2 GB的限制
我正在使用convert约2,000张图像创建PDF文件: convert 0001.miff 0002.miff ... 2000.miff -compress jpeg -quality 80 out.pdf 当输出文件达到2 ^ 31-1字节(2 GB -1)的消息时,该过程可重复终止 convert: unknown `out.pdf'. PDF文件规范允许≈10GB。我试图从中获取更多信息-debug all,但是在日志输出中没有发现任何有用的信息。文件系统是ext3,它允许至少16 GiB(可能更多)的文件。至于ulimit,file size是unlimited。/etc/security/limits.conf仅包含注释行。还有什么会导致此问题,如何增加限额? ImageMagick版本:6.4.3 2016-08-05 Q16 OpenMP 发行版:SLES 11.4(i586)

2
为什么套接字路径长度限制为一百个字符?
在Unix系统上,路径名通常几乎没有长度限制(在Linux上是4096个字符)...除了套接字文件路径最多只能有100个字符(在Linux上为 107个字符)外)之外。 第一个问题: 为什么限制这么低? 我检查了,它似乎有可能通过改变当前的工作目录,并在不同的目录中创建所有使用相同的路径几个套接字文件来解决此限制./myfile.sock:客户端应用程序似乎正确地连接到预期的服务器进程偶数虽然lsof显示所有他们中的一个在同一套接字文件路径上侦听。 这种解决方法可靠吗?还是我很幸运? 此行为是特定于Linux的,还是该解决方法也适用于其他Unix?

3
您可以拥有的僵尸进程数量上限吗?
我曾经使用过HP-UX系统,老管理员告诉我,系统上的僵尸进程数量有上限,我相信是1024。 这是一个困难的事实上限吗?我认为您可以拥有任意数量的僵尸,就像可以拥有任意数量的进程一样……? 发行版与发行版之间是否有不同的价值? 如果我们达到上限并尝试创建另一个僵尸会发生什么?

3
我可以将进程限制为一定的时间/ CPU周期吗?
我们有一个脚本,该脚本由客户操作触发,在Web服务器上运行,该脚本启动UNIX进程以生成一些缓存文件。由于此过程会作用于我们客户提供的文件,因此有时会发生错误,运行时间太长,以至于生成它的PHP进程超时,或者使用了太多的CPU时间,导致系统管理员将其杀死。 我是否可以运行任何命令来限制进程的CPU时间/运行时间?我正在寻找类似的命令/usr/bin/time,我可以在其中运行该命令并将其传递给我希望它运行和限制的命令行。
16 process  limit 

3
如何限制进程及其子进程的总资源(内存)
关于约束单个进程的资源有很多问题和答案,例如RLIMIT_AS可用于约束由进程分配的最大内存,在诸如此类中可以视为VIRT top。有关该主题的更多信息,例如,这里是否有一种方法可以限制Unix中特定进程可以使用的内存量? setrlimit(2) 文档说: 通过fork(2)创建的子进程继承其父级的资源限制。资源限制在execve(2)中保留。 应该通过以下方式理解: 如果某个进程的RLIMIT_AS为2GB,则它分配的内存不能超过2GB。当它产生一个子代时,会将2GB的地址空间限制传递给该子代,但计数从0开始。这两个进程加起来最多会占用4GB的内存。 但是,约束整个进程树分配的内存总和的有用方法是什么?

4
防止tar使用过多的CPU和磁盘(如果100%旧笔记本电脑崩溃)
我想将1 TB的数据备份到外部磁盘。 我正在使用此命令: tar cf /media/MYDISK/backup.tar mydata 问题:每当我使用100%CPU或100%磁盘时,我可怜的笔记本电脑就会死机并崩溃(如果您要对此做出反应,请在此处写)。所以我想保持大约50%的CPU和50%的最大磁盘空间。 我的问题:如何使用tar命令限制CPU和磁盘? Rsync具有--bwlimit选项,但是我想要一个存档,因为1)有很多小文件2)我更喜欢管理单个文件而不是树。这就是为什么我使用tar。
15 tar  limit 

2
ulimit PICKLE:“不允许操作”和“找不到命令”
我正在尝试增加当前用户的最大打开文件数 > ulimit -n 1024 我尝试增加并失败如下 > ulimit -n 4096 bash: ulimit: open files: cannot modify limit: Operation not permitted 所以我自然而然地尝试在临时权限下运行,但是失败了 > sudo ulimit -n 4096 sudo: ulimit: command not found 问题 如何增加ulimit? 为什么会这样呢? 使用Fedora 14
15 bash  fedora  sudo  limit 

3
一台Linux计算机上的SSH连接数
我陷入了不得不通过puTTY访问Linux机器的情况。我尝试了各种SSH尝试,但无法连接到该机器。然后我意识到我的同事正在以root用户身份访问同一台Linux计算机,我也想以root用户身份进行访问。我请他注销以便以root用户身份登录。有没有一种方法可以限制Linux操作系统上的SSH登录数量?这是某种安全功能,可以区分基于Windows的操作系统和基于Linux的操作系统。
14 ssh  limit 

2
什么是“自动堆栈扩展”?
getrlimit(2)在手册页中具有以下定义: RLIMIT_AS 进程的虚拟内存的最大大小(地址空间),以字节为单位。此限制影响对brk(2),mmap(2)和mremap(2)的调用,这些调用在超出此限制时会失败,并显示错误ENOMEM。同样,自动堆栈扩展将失败(如果没有通过sigaltstack(2)提供备用堆栈,则会生成SIGSEGV来终止该进程)。由于该值很长,因此在32位长的机器上,此限制最多为2 GiB,或者此资源是无限的。 这里的“自动堆栈扩展”是什么意思?Linux / UNIX环境中的堆栈是否根据需要增长?如果是,确切的机制是什么?
13 linux  process  memory  limit 

1
修复ulimit:打开文件:无法修改限制:不允许操作
我在不同的GNU / Linux安装上对此进行了测试: perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}' 系统A和D 我遇到的第一个限制是1024。可以通过将其放入/etc/security/limits.conf来轻松提高它: * hard nofile 1048576 然后运行: ulimit -n 1048576 echo 99999999 | sudo tee /proc/sys/fs/file-max 现在测试进行到1048576。 但是,看来我无法将其提高到1048576以上。如果我将1048577放入limits.conf中,将被忽略。 是什么原因造成的? 系统B 在系统BI上甚至无法达到1048576: echo 99999999 | sudo tee /proc/sys/fs/file-max /etc/security/limits.conf: * hard nofile 1048576 在这里我得到: $ ulimit -n 65537 …

2
如何允许用户将流程的优先级定为负面?
我希望用户使用负的尼斯值在系统上运行特定的进程。我不能简单地将进程分派到后台,因为此特定程序是Minecraft服务器,并且我依靠命令行来控制服务器。 我当前的bash脚本如下所示(重要部分): sleep 10 && \ sudo renice -n $NICENESS $(ps -u $(id -u) -o "%p:%c" | sed -n "s/:java$//p") & \ java -Xmx8G -Xms2G -jar minecraft_server.jar nogui sleep只是延迟执行renice。renice本身使用ps用户自己的ID来检查Java进程。在不同的用户下可能还会出现其他Java实例,但是minecraft服务器在其自己的用户minecraft下运行。 我显然不想每次启动服务器时都输入密码。 来自/ etc / sudoers: minecraft ALL = NOPASSWD: /etc/renice 有没有更优雅的方法可以做到这一点?与NOPASSWD:选项一起使用时nice,简单地使用不是一个选项,sudo nice bash这将是一个很大的安全问题。

2
设置给定用户的默认nice值(limits.conf)
有人可以告诉我如何设置用户的默认值nice(如所示top)吗?我发现/etc/security/limits.conf是放置该位置的地方,但是如果我放以下任何一个: username_of_a_guy - nice 19 username_of_a_guy soft nice 19 username_of_a_guy hard nice 19 它不起作用(应该起作用,对吗?)。 请注意,自那时以来,我已经重新启动。 非常感谢您的帮助。我正在使用debian不稳定(最新)。 内容: 在我的工作中,我们有一个本地网络:每个人都有自己的计算机,并且每个人都可以在其他人的计算机上创建一个帐户(如果愿意)。经验法则只是,如果您在其他人的计算机上工作,请完善您的流程(nice 19)。 我想一次将给定用户的默认nice值设置为19。
12 login  nice  limit 

2
在OOM杀手/ cgroup杀死进程之前接收信号
在我们的集群中,我们正在限制进程资源,例如内存(memory.limit_in_bytes)。 我认为,最后,这也可以通过Linux内核中的OOM杀手来处理(通过阅读源代码看起来很像)。 在我的进程被杀死之前,有什么方法可以发出信号吗?(就像SGE的-notify选项一样,该选项将在进程终止qsubSIGUSR1之前发送。) 我在/dev/mem_notify 这里了解到有关信息,但我没有它-如今还有其他东西吗?我也读了这篇似乎有些相关的文章。 我希望至少能够转储一个小的堆栈跟踪信息以及其他一些有用的调试信息-但也许我甚至可以通过释放一些内存来恢复。 我当前正在使用的一种解决方法是这个小脚本,该脚本经常检查我是否接近极限(95%),如果是,它将发送过程a SIGUSR1。在Bash中,我将在后台(cgroup-mem-limit-watcher.py &)启动此脚本,以便它监视同一cgroup中的其他proc,并在父Bash进程终止时自动退出。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.