AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[nice](server)

Martin Hope
Radio Controlled
Asked: 2020-04-02 02:18:30 +0800 CST

根据他的 CPU 使用情况实时设置所有用户进程的 nice 值

  • 0

为了平衡用户在共享计算服务器上的 CPU 消耗,我认为如果可以:

  1. 为用户的所有进程设置 nice 级别
  2. 此外,实时调整此级别
  3. 此外,这个级别不仅适用于未来,而且适用于正在运行的作业
  4. 此外,从用户当前的整体 CPU 使用率得出这个级别

这个想法是用户可以调用任意数量的作业。但是如果有其他用户,他的优先级会下降,这取决于他要求多少。所以 A 可以一次使用所有 32 个内核。然后另一个用户 B 来了,只开始了一项工作。现在 A 的优先级应该低于 B。然后 C 来启动 8 个作业。他现在应该在 A 和 B 之间有一个优先级。但是,优先级实际上不应该基于进程的数量,而是基于它们的整体 CPU 需求——如果可以确定的话。

我想这可能与将相同份额的 CPU 分配给所有活跃用户相同,只要他们使用它并将其余的分配给所有想要更多的人。

你认为这有可能吗?

你觉得这有道理吗?

load-balancing users realtime nice process-priority
  • 1 个回答
  • 107 Views
Martin Hope
Russell Fulton
Asked: 2016-10-18 17:59:55 +0800 CST

如何*启动*具有高优先级的进程

  • 7

注释: 1. 较低的优先级是指优先级数较低。2. 发行版是 RHE

我想启动一个低于正常优先级的守护进程(即说 18 而不是 20),因此在争用的情况下它将首先获得 cpu。

nice 以更高的优先级运行命令,renice 可以提高或降低但适用于已经运行的进程。

如果我可以避免它,我宁愿不必从进程列表中挖掘 pid,然后在启动脚本中调用 renice,因为程序不能方便地生成 pid 文件。

linux nice
  • 2 个回答
  • 19100 Views
Martin Hope
Morpheu5
Asked: 2016-04-28 11:30:06 +0800 CST

如何以较低的优先级运行 docker build?

  • 2

我经常需要重新构建 Docker 映像,并且我在运行容器的主机中执行此操作。偶尔我看到这会给 CPU 带来相当大的压力,所以我认为我可以docker build在nice -n19.就其他进程需要运行时 docker 的产量而言。

我宁愿不使用 Docker Hub 存储库,因为这是私人的东西,我现在正在努力节省每一分钱。我也知道我可以设置另一台机器作为构建/存储库——例如,我可以在办公室使用一台机器——但我不确定如何。

所以,问题:为什么nice -n19 docker build ...似乎不是很有帮助?

(将我指向有关如何设置我自己的私有构建/回购机器的文档的奖励积分)

docker nice
  • 3 个回答
  • 3674 Views
Martin Hope
MateuszL
Asked: 2015-02-21 05:53:57 +0800 CST

不错,ionice 还不够

  • 7

我有一个脚本可以启动大的、消耗 CPU 和内存的进程树。那里有 Python 和可执行文件,但一切都从单个 bash 脚本和 python 子进程开始。

在执行期间,系统的其余部分被完全阻塞。我试图通过 来缓解 $ nice -n10 ionice -c2 ./Script.sh,但这还不够 - 使用计算机非常滞后(实际上这是开发桌面,但指定服务器上的问题将是相同的)。

我怀疑,问题出在使用大量内存的进程上——一切最终都被换掉并变得迟缓。

有没有办法降低进程(及其递归子进程)访问物理内存的优先级?我更喜欢在后台慢一点,对其他任务的影响有限。

nice
  • 2 个回答
  • 5727 Views
Martin Hope
xioxox
Asked: 2012-07-06 08:16:32 +0800 CST

不错的水平不适用于 Linux

  • 6

我有一些高度浮点密集型进程执行很少的 I/O。一个叫做“xspec”,它计算一个数值模型并每秒将一个浮点结果返回给主进程(通过标准输出)。它在 19 级很好。我有另一个简单的过程“cpufloattest”,它只是在一个紧密的循环中进行数值计算。这不是很好。

我有一个禁用超线程的 4 核 i7 系统。我已经开始了每种类型的流程中的 4 个。为什么 Linux 调度程序 (Linux 3.4.2) 没有正确限制 niced 进程占用的 CPU 时间?

中央处理器:56.2%us、1.0%sy、41.8%ni、0.0%id、0.0%wa、0.9%hi、0.1%si、0.0%st
内存:总计 12297620k,已使用 12147472k,空闲 150148k,缓冲区 831564k
交换:总共 2104508k,已使用 71172k,免费 2033336k,缓存 4753956k

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令                                         
32399 jss 20 0 44728 32m 772 R 62.7 0.3 4:17.93 cpufloattest                                    
32400 jss 20 0 44728 32m 744 R 53.1 0.3 4:14.17 cpufloattest                                    
32402 jss 20 0 44728 32m 744 R 51.1 0.3 4:14.09 cpufloattest                                    
32398 jss 20 0 44728 32m 744 R 48.8 0.3 4:15.44 cpufloattest                                    
 3989 jss 39 19 1725m 690m 7744 R 44.1 5.8 1459:59 xspec                                           
 3981 jss 39 19 1725m 689m 7744 R 42.1 5.7 1459:34 xspec                                           
 3985 jss 39 19 1725m 689m 7744 R 42.1 5.7 1460:51 xspec                                           
 3993 jss 39 19 1725m 691m 7744 R 38.8 5.8 1458:24 xspec                                           

如果我启动 8 个 cpufloattest 进程,调度程序会按照我的预期进行,其中 4 个很好(即 ​​4 个占用大部分 CPU,4 个占用很少)

linux nice scheduler
  • 5 个回答
  • 5099 Views
Martin Hope
irolla
Asked: 2010-01-27 08:04:39 +0800 CST

VLC 视频编码产生高“好”负载

  • 1

有一个带有 vlc 进程的服务器用于实时视频编码。

这是topwith 1(show processor) 和H(show threads)的输出

top - 15:50:26 up 42 min,  1 user,  load average: 2.64, 2.60, 2.45
Tasks: 130 total,   7 running, 123 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.0%us,  0.3%sy, 72.2%ni, 26.8%id,  0.0%wa,  0.0%hi,  0.7%si,  0.0%st
Cpu1  :  0.0%us,  0.0%sy, 56.0%ni, 44.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  2.6%us,  0.0%sy,  9.4%ni, 87.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.3%st
Cpu3  :  0.0%us,  0.0%sy, 35.9%ni, 64.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  0.0%us,  0.0%sy, 35.0%ni, 65.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  2.6%us,  0.0%sy,  0.0%ni, 97.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  0.0%us,  0.6%sy, 18.0%ni, 81.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  4.9%us,  0.0%sy,  0.0%ni, 95.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    533064k total,   233000k used,   300064k free,     4832k buffers
Swap:  2097144k total,        0k used,  2097144k free,    40516k cached

  PID USER       PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 5841 videoenc   20   0  674m 119m 8228 R  8.0 22.9   2:32.50 vlc                
 5840 videoenc   20   0  674m 119m 8228 S  4.7 22.9   1:49.53 vlc                
 5843 videoenc   20   0  674m 119m 8228 R  4.7 22.9   1:45.36 vlc                
22787 videoenc   30  10  674m 119m 8228 R  4.7 22.9   0:00.14 vlc                
22788 videoenc   30  10  674m 119m 8228 S  2.0 22.9   0:00.06 vlc                
22789 videoenc   30  10  674m 119m 8228 R  1.3 22.9   0:00.04 vlc                
 5838 videoenc   20   0  674m 119m 8228 S  0.7 22.9   0:08.14 vlc                
22790 videoenc   30  10  674m 119m 8228 S  0.7 22.9   0:00.02 vlc                
22791 videoenc   30  10  674m 119m 8228 S  0.7 22.9   0:00.02 vlc              

这是top(没有1和H)的组合输出

top - 16:01:09 up 52 min,  1 user,  load average: 3.88, 3.74, 3.10
Tasks: 110 total,   1 running, 109 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.2%us,  0.1%sy, 35.2%ni, 63.2%id,  0.1%wa,  0.0%hi,  0.0%si,  0.1%st
Mem:    533064k total,   234136k used,   298928k free,     5208k buffers
Swap:  2097144k total,        0k used,  2097144k free,    40992k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 5825 videoenc  20   0  674m 119m 8228 S  305 22.9  98:59.58 vlc                
    1 root      20   0 10328  736  616 S    0  0.1   0:00.08 init               
    2 root      15  -5     0    0    0 S    0  0.0   0:00.00 kthreadd           
    3 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/0        
    4 root      15  -5     0    0    0 S    0  0.0   0:00.00 ksoftirqd/0        
    5 root      15  -5     0    0    0 S    0  0.0   0:00.04 events/0           
    6 root      15  -5     0    0    0 S    0  0.0   0:00.00 khelper            
    8 root      15  -5     0    0    0 S    0  0.0   0:00.00 xenbus             
   10 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/1        
   11 root      15  -5     0    0    0 S    0  0.0   0:00.00 ksoftirqd/1        
   12 root      15  -5     0    0    0 S    0  0.0   0:00.02 events/1           
   13 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/2        
   14 root      15  -5     0    0    0 S    0  0.0   0:00.00 ksoftirqd/2        
   15 root      15  -5     0    0    0 S    0  0.0   0:00.02 events/2           
   16 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/3        
   17 root      15  -5     0    0    0 S    0  0.0   0:00.00 ksoftirqd/3        

这是一个问题:
为什么所有 %CPU 的总和不等于 %ni 的总和。以及为什么 VLC 在没有运行时会产生“不错”的负载renice

linux nice
  • 3 个回答
  • 384 Views
Martin Hope
David Wolever
Asked: 2010-01-07 08:42:41 +0800 CST

相当于文件系统 IO 的“nice”?

  • 11

当我运行rsync涉及复制大文件的备份作业时,运行备份的机器(Mac 桌面和 Linux 服务器)会停止运行,并且平均负载会达到顶峰。

我试过了:

  • nice处理rsync过程(无济于事 - 瓶颈是磁盘)
  • 在 Linux 上,reniceing a kjournald(有帮助,但似乎是 hack 并且在 Mac 上不起作用)
  • 使用--bwlimit rsync标志(有帮助,但这意味着所有传输都很慢 - 即使它们不需要)

那么,我有什么办法可以“ nice”rsync的 IO 以便在备份运行时机器可以使用?

PS:我知道rsync在 Mac 上的危险……但我使用BackupBouncer来验证我的备份,不过,它们看起来还不错。

backup rsync nice
  • 2 个回答
  • 2398 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve