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议

从Windows服务启动应用程序

我正在构build一个Windows服务,将监视事件和磁盘活动的特定事件。 发生此类事件时,我的计划是通过客户端应用程序提醒用户该事件,并在必要时提供补救措施。 我(大部分)完成了客户端和服务组件,这很好用,除非客户端程序没有运行。 总之,我正在寻找一种方法来通过CreateProcess从Windows服务启动客户端应用程序,以向用户提供信息。 但是,它似乎甚至无法看到客户端应用程序的文件/文件夹执行它。 我怀疑这是由于服务正在运行的凭据,或者可能是由于服务级别的限制,但是我想深入了解一些build议之前,我深入了解了这一点。 所以,首先显而易见的问题是…我是否清楚地思考这个问题? 架构计划是否听起来,还是应该看另一种方法? 我宁愿不重做我已经完成的任何工作,但显然要确保计划和过程是坚实的。 问题#2,这个模型面临的局限性是什么? 有没有一个服务帐户,将允许这个级别的访问? 我显然正在努力,所以任何想法或援助将不胜感激! 谢谢,克里斯

nodejs表示Windows最大连接设置

在Windows 10中,为nodejs设置最大连接(在express中使用get )? 它与Linux中的最大文件(描述符)设置有关吗? 有一个Windows版本的设置? 最好在nodejs中的一个设置,以便它迁移到UNIX时兼容? 我怀疑loadtest模块给出错误,因为这个设置超过2000个并发连接攻击我的服务器程序,使用快速和保持队列中的连接稍后处理。 负载testing正常完成200个并发连接(-c 200在命令行中)。 另外,当我不保持队列中的连接,如果get操作很简单( "response.end('hello world')" ),它不会给-c 2000错误,也许它会在其他启动之前完成工作所以它真的不是2000个并发,只有排队的版本有2000个并发? 我没有使用http模块,但我正在处理xlmhttprequest从客户端发送到服务器端express module的get函数。 也许桌面版本的Windows操作系统没有开发与服务器应用程序的思想,所以它没有设置最大连接,最大文件访问和相关variables已被硬编码在它?

在受控环境下运行应用程序的问题(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(); } 限制器的代码很长,所以我不在这里包括它。 我也觉得我的方法可能有些问题 – […]