标签: nice

Python:ulimit和subprocess.call/subprocess.Popen很好用?

我需要限制我使用subprocess.call从python进程生成的外部命令行应用程序所花费的时间和cpu的数量,主要是因为有时候生成的进程被卡住并将cpu的引脚设置为99%.

nice和ulimit似乎是合理的方法,但我不确定他们如何与子进程交互.

  • 限制看起来像:
    • 如果超过60秒,则终止该过程
    • 将其限制为CPU的20%
  • 我想将资源限制应用于子进程,而不是应用于生成子进程的python进程.

有没有办法将nice和ulimit应用于subprocess.call生成的进程?是否有更好的python-native替代品?

这是在linux(ubuntu)系统上.

python resources nice ulimit

39
推荐指数
3
解决办法
2万
查看次数

Linux系统的优秀和优先级流程

我正在寻找一种通过命令行修改进程优先级的方法.我找到了builtin(bash)nice和命令renice,它允许修改进程的优点,但不是内核计算的实际优先级.

是否有允许设置优先级的命令?(或者我在好感和优先级之间感到困惑?)

operating-system scheduling nice linux-kernel

20
推荐指数
1
解决办法
1万
查看次数

控制python线程的调度优先级?

我编写了一个脚本,它使用两个线程池,每个线程池包含10个线程,用于从API中提取数据.线程池在ActiveState上实现此代码.每个线程池都通过PubSub监视Redis数据库获取新条目.当一个新的条目将被发布,蟒蛇将数据传递到使用Python的功能Subprocess.POpen执行PHP壳里做调用API的实际工作.

这个启动PHP shell的系统对于我的PHP Web应用程序的功能是必需的,因此无法避免使用Python启动PHP shell.

此脚本仅在Linux服务器上运行.

如何控制应用程序线程的niceness(调度优先级)?

编辑:

似乎无法控制Python中各个线程的调度优先级.有一个python解决方案,或者至少是一个UNIX命令,我可以与我的脚本一起运行,以控制优先级?

编辑2:

好吧,我最终没有找到一种python方式来处理它.我现在正好运行我的脚本,就像这样:

nice -n 19 python MyScript.py
Run Code Online (Sandbox Code Playgroud)

python multithreading scheduling nice threadpool

20
推荐指数
4
解决办法
2万
查看次数

sudo nohup很好< - 按什么顺序?

所以我有一个脚本,我想以root身份运行,没有挂断和很好.我应该将命令放在什么顺序?

sudo nohup很好foo.bash&

要么

nohup很好sudo foo.bash&

等等

我怀疑这无关紧要,但希望得到一些真正了解的人的见解.

unix bash sudo nice nohup

19
推荐指数
4
解决办法
2万
查看次数

是nice()用于更改线程优先级或进程优先级?

nice说"nice()" 的手册页将inc添加到调用进程的nice值.那么,我们可以使用它来更改由创建的线程的nice值pthread_create吗?

编辑:我们似乎可以为每个线程设置好的值.

我写了一个应用程序,为不同的线程设置了不同的好的值,并观察到"更好"的线程已被安排在较低的优先级.检查输出,我发现字符串"高优先级................"更频繁地输出.

void * thread_function1(void *arg)
{

 pid_t tid = syscall(SYS_gettid);

 int ret = setpriority(PRIO_PROCESS, tid, -10);
 printf("tid of high priority thread %d , %d\n",tid ,getpriority(PRIO_PROCESS,tid));
 while(1){
  printf("high priority ................\n");
    }

}


void * thread_function(void *arg)
{
 pid_t tid = syscall(SYS_gettid);
 int ret = setpriority(PRIO_PROCESS, tid, 10);
 printf("tid of low priority thread %d , %d \n",tid ,getpriority(PRIO_PROCESS,tid));
while(1) 
{

  printf("lower priority\n");
}
}


int main()
{

pthread_t id1;
pthread_t id2;

pid_t pid = …
Run Code Online (Sandbox Code Playgroud)

linux pthreads scheduler nice

16
推荐指数
1
解决办法
1万
查看次数

是否正在运行python进程?

当我的长时间运行的程序启动时,我想降低其优先级,以便它不会消耗它运行的机器上可用的所有资源.情况使得程序必须限制自己.

是否有一个很好的python命令,我可以使用,以便程序不利用它运行的计算机的全部容量?

python nice

12
推荐指数
2
解决办法
1万
查看次数

父母的租房是否会让孩子受骗?

我知道如果我对shell脚本很好(即:在运行之前),所有从shell脚本开始的进程也将被清除.

如果我启动一个shell脚本并重命令它,那么所有子进程是否也会被重命名?

查看了renice手册页,并没有提到子进程.

shell nice renice

9
推荐指数
1
解决办法
3571
查看次数

是否可以重新编写子流程?

我知道os.nice()它对于父进程来说是完美的,但是我需要对子进程进行处理.我找到了这样做的方法,但似乎不是很方便和过分:

os.system("renice -n %d %d" % ( new_nice, suprocess.pid ) )
Run Code Online (Sandbox Code Playgroud)

并且它在返回后不会返回得到很好的水平.

在python中有更简洁的方法来管理子进程吗?

python subprocess nice renice

9
推荐指数
1
解决办法
4575
查看次数

有没有办法让我的JavaScript执行"好看"?

我想在浏览器窗口中运行一些计算,但我不希望它减慢客户端计算机的速度以进行用户交互,特别是对于单核计算机.有没有办法调整执行JavaScript的优秀级别,以便尽可能快地执行,而不会降低机器的响应能力?

javascript nice renice

8
推荐指数
1
解决办法
137
查看次数

如何为用户提供ionice级别权限?

要改变hardlimit for nice,我可以修改/etc/security/limits.conf

user - nice -11
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能为ionice做同样的事情

 ionice -c 1 -p 31828
Run Code Online (Sandbox Code Playgroud)

我收到了错误

ionice: ioprio_set failed: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

unix linux nice user-permissions

8
推荐指数
1
解决办法
2076
查看次数