Articles of 限制

ulimit -r返回不同的值

我在系统范围的/etc/security/limits.conf中添加了以下两行: * soft rtprio 55 * hard rtprio 55 在系统重新启动之后,根据我在机器上访问我的用户帐户的方式,我得到了两个不同的结果。 user@client# ssh user@server user@server# ulimit -r 55 然后我注销并以root身份重新login user@client# ssh root@server root@server# su – user user@server# ulimit -r 0 我在.bashrc和其他地方都没有特殊的设置,至less我是这么认为的。 为什么发生这种情况?

在Linux系统上提高RLIMIT_NOFILE的硬性限制

我们需要在运行memcached时提高RLIMIT_NOFILE,因为我们正在达到默认的硬限制(1024)。 然而,提高硬限制需要root权限,由于各种原因,我们不希望以root身份运行memcached或其包含的shell。 现在我们很高兴地以非root用户的身份运行它。 有没有办法提高RLIMIT_NOFILE系统的硬性限制,以便我们可以继续以非root用户身份运行memcached,并简单地提高软限制? 这是2.6内核的RedHat Linux。 谢谢! 乔恩

如何在Linux中限制用户命令

我有一个组中的用户:“演示”。 我想设置这个用户只能运行10个命令的策略,比如“vim”,“nano”,“cd”等等。 或者,将策略设置为可以访问除“ssh”和“cat”命令之外的所有命令。 谢谢

如何在Linux中设置目录大小限制?

我已经读过关于限制目录的大小 – 比如创build大文件,格式化,挂载等。但是这一切都非常复杂。 是否存在实用程序或其他设置已经存在的目录限制?

将某些进程限制为CPU% – Linux

我有以下问题:一些dynamic生成的进程倾向于占用100%的CPU。 我想限制所有进程匹配一些标准(例如进程名称)到一定数量的CPU百分比。 我试图解决的具体问题是利用folding @ home工作进程。 我能想到的最好的解决scheme是定期执行的perl脚本,并使用cpulimit实用程序来限制进程(如果您对更多细节感兴趣,请查看此博客文章 )。 它的工作,但它是一个黑客:/ 有任何想法吗? 我想离开处理的操作系统:) 再次感谢您的build议,但我们仍然错过了这一点:) “slowDown”解决scheme本质上就是“cpulimit”工具。 我仍然需要关注哪些进程要放慢速度,一旦完成工作进程就杀掉“slowDown”进程,并为新的进程启动新进程。 这正是我用Perl脚本和cron作业所做的。 主要的问题是,我不知道什么stream程限制。 它们是dynamic生成的。 也许有办法将一个用户的所有进程限制在一定数量的CPU百分比? 我已经设置了一个用户来执行folding @ home作业,希望能够限制他/etc/security/limits.conf文件。 但最近我可以得到的是每个用户的总CPU时间… 如果有一些东西可以让你说:“这个用户进程的所有CPU使用率的总和不能超过50%”,这将是很酷的。 然后让这些进程为这个50%的CPU争取他们的优先权。 伙计们,感谢您的build议,但这不是关于优先事项 – 即使有足够的CPU时间,我也想限制CPU%。 这些进程的优先级已经很低,所以不会导致任何性能问题。 我只想阻止CPU长时间运行100%…

如何禁用或更改在Linux下的GPU的超时限制?

有没有人知道如何禁用或更改Ubuntu 12.10下的CUDA内核的超时限制? (使用当前版本的Windows,可以在registry中设置超时限制。) 请告诉我,如果没有可能与Ubuntu做到这一点。 我以前的search唯一的结果如下: 运行没有graphics显示的CUDA内核被连接到GPU 将内核分成较小的内核以避免超出时间限制 这两种解决scheme对我来说都是没有select的,因为我需要为我的应用程序进行graphics显示,并且在内核执行期间,已经没有任何线程依次运行了。 而分裂单线程将花费数月的工作。 请不要进一步询问这些方向的细节。 感谢您的帮助提前。

“最大打开文件”为工作进程

是否有可能为工作过程增加“最大打开文件”参数? 我的意思是这个参数: cat /proc/<pid>/limits | grep files 感谢您的build议

在受控环境下运行应用程序的问题(Win32)

我不完全确定如何标记这个问题或如何编写标题,所以如果有人有一个更好的主意,请编辑它 这是交易: 前一段时间,我写了一个计算奥林匹克pipe理系统的一个小小的但是非常重要的部分。 系统的工作是从参与者(代码文件)获得提交,编译它们,根据预定义的testing用例运行它们并返回结果。 加上所有其他的东西,你可以想象它应该做的。 我写的部分叫Limiter 。 这是一个小程序,其工作是采取另一个程序,并在受控环境中运行。 在这种情况下的控制意味着对可用内存的限制,计算时间和对系统资源的访问。 另外,如果程序崩溃,我应该能够确定exception的types并向用户报告。 另外,当进程终止时,应该注意执行了多长时间(分辨率至less为0.01秒,更好)。 当然,理想的解决scheme是虚拟化,但我没那么有经验。 我的解决scheme分为三个部分。 最简单的部分是对系统资源的访问。 该程序只需使用有限的访问令牌即可执行。 我将所有进程都可用的一些基本(Everyone,Anonymous等)访问令牌结合起来,以便为系统提供实际的只读访问权限,但执行文件夹除外。 内存的限制是通过作业对象完成的 – 它们允许指定最大内存限制。 最后,为了限制执行时间并捕获所有exception,我的Limiter作为一个debugging器附加到进程中。 因此,我可以监控花费的时间,如果花费太长时间,可以终止花费的时间。 请注意,我无法使用Job对象,因为他们只报告作业的内核时间和用户时间。 一个进程可能会做一些像Sleep(99999999)这样的东西,它们都不算在内,但仍然会禁用testing机器。 因此,虽然在最后的执行时间里我没有计算进程的空闲时间,但它仍然有一个限制。 现在,我不是像这样的低级别的东西的专家。 我花了几天的时间阅读MSDN并玩弄,并尽可能提出了一个解决scheme。 不幸的是,它似乎没有运行得如预期的那样好。 大多数情况下,它似乎工作正常,但奇怪的情况下不断爬升。 刚才我有一个C ++程序,它自己运行在一瞬间,但是我的Limiter报告了8秒的用户模式时间(从工作计数器中获取)。 这是代码。 它在大约半秒内打印输出,然后花费超过7秒钟等待: #include <iostream> #include <vector> using namespace std; int main() { vector< vector<int> > dp(50000, vector<int>(4, -1)); cout << dp.size(); } 限制器的代码很长,所以我不在这里包括它。 我也觉得我的方法可能有些问题 – […]

限制内存分配在Windows +我正在计算这个正确?

我正在写一个需要大量内存的程序(大图分析)。 目前在我的程序中有两个主要的数据结构(占用大部分内存)。 这些是: int **types的* nmatrix 和长度为n的数组,typesNode * 在这种情况下,节点是一个包含两个整数的结构( sizeof(Node) = 8) n可以运行我的代码的最大值是22900,做了一些计算,我得到: 22900*22900 * sizeof(int) * 8 + 22900 * sizeof(Node) = 16782591360 bits 这是1.95375077千兆字节。 所以问题1:我是否正确计算这两个数据结构的内存使用情况? 和2:在Windows上有2GB的内存分配限制。 如果是这样,我怎么能解决它? 欲了解更多信息,我在一台64位的Windows 7机器上编译GCC,4GB RAM,运行时有3GB的空闲RAM。 谢谢。

Windows Media服务中的限制控制

我想知道是否在Windows Server 2003中,在Windows Media服务中,我们可以为任何文件types(甚至不支持由Windows Media Service进行stream式处理的文件types)设置/configuration限制设置,例如setup .flv文件下载/stream将比特率调节到100k,或将比特率调节控制设置为编码比特率。 我search了Windows媒体服务手册很长一段时间,但无法find这个functionexlpicitlylogging。 顺便说一句:我只是好奇什么是Windows Media服务的行为,如果我们把不受支持的stream文件types,如.flv苍蝇。 在此先感谢乔治