有没有一种首选的方法来为 sshd 设置“nice”?
我需要优先考虑 sshd,这样我就可以登录并在出现问题时轻松修复内容(例如 DoS、行为不良的进程等)
我想更改当前正在运行的脚本的 nice 级别:
#!/bin/bash
nice_it ( ) {
nice
ps -o "%p %r %y %x %n %c %a"
}
nice_it
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为nice试图更改由它启动的命令的 nice 级别。
有可能在 bash 中实现这一点吗?
当我运行rsync涉及复制大文件的备份作业时,运行备份的机器(Mac 台式机和 Linux 服务器)会停止工作,平均负载会飙升。
我试过了:
nice处理rsync过程(无济于事 - 瓶颈是磁盘)reniceing a kjournald( 有帮助,但似乎是一个 hack 并且在 Mac 上不起作用)--bwlimit rsync标志(有帮助,但这意味着所有传输都很慢 - 即使它们不需要)那么,有没有什么办法可以让“ nice”rsync的 IO 使机器在备份运行时可用?
PS:我知道rsync在 Mac 上的危险……但是我已经使用BackupBouncer来验证我的备份,而且它们看起来还不错。
当我renice在 Ubuntu 10.04 中执行多线程进程,然后在top. 所有其他线程保留其旧的 nice 值。renice 进程中的所有线程而不仅仅是主线程的最简单方法是什么?
Linux 进程可以有不同的 CPU 和 IO 优先级(nice 和 ionice)。
为什么需要有不同的 CPU 和 IO 优先级?
让它们不同是否有任何现实世界的用法?
您发现哪些实际用例需要不同的 CPU 和 IO 优先级?例如高于正常 CPU 优先级但低于正常 IO 优先级,反之亦然。
配置是:一个linux服务器和一个作为nfs服务器的nas box(netgear)。
通过简单地将文件从 nfs 共享复制到 nfs 共享,Linux 服务器上的单个进程很容易使用所有 I/O 带宽。i/o 通道被阻塞,服务器上的所有其他进程将几乎停止等待 i/o。负载增长到 10-20(四核),越来越多的 pdflush 进程出现......直到有人停止文件复制。
如何限制 cp 进程使用的 i/o 带宽?nice当然不会有帮助,但也ionice -c3没有效果。ionice 是否会影响 nfs 挂载?有类似nfsnice 的东西吗?
我做了大量备份,在使用tar/gzip. 我已经将任务设置为一个 cronjob,它访问我处理备份的脚本。我知道这nice在这种情况下可能会有所帮助,但我不确定使用它的正确方法。
我的脚本中有以下命令:
tar -cf
gzip -9
Run Code Online (Sandbox Code Playgroud)
我nice会像这样在它前面添加命令以降低优先级吗?:
nice -n 13 tar -cf
nice -n 13 gzip -9
Run Code Online (Sandbox Code Playgroud)
使用这种方法有什么注意事项吗?谢谢。
看起来很奇怪,我找不到有关如何为程序设置默认值的信息(不是为用户或组!)。我想以 10 的不错值启动所有 chrome 和 firefox 实例。最合适的解决方案是什么?
我有一个脚本,它启动大、CPU 和内存消耗进程树。那里有 Python 和可执行文件,但一切都始于单个 bash 脚本和 Python 子进程。
在执行期间,系统的其余部分被完全阻塞。我试图通过 来缓解
$ nice -n10 ionice -c2 ./Script.sh,但这还不够 - 使用计算机非常滞后(实际上这是开发桌面,但指定服务器上的问题将类似)。
我怀疑,问题在于进程使用了太多内存 - 一切最终都被换出并变得缓慢。
有没有办法降低访问物理记忆的进程(及其递归子进程)的优先级?我更喜欢它在后台执行得更慢,对其他任务的影响有限。
在问这个问题之前,我给你一些背景知识:我在 VPS 上运行一个网站。VPS itselmf 运行 apache web 服务器,生成带有访问 SQLite 数据库的页面的 PHP 代码,并运行一些由 cron 作业触发的后台任务。
这些后台任务主要是更新数据库值,添加新的记录显示给网站用户。
性能方面,网站的响应性是优先考虑的,但后台任务对时间不敏感,如果必须延迟,减慢,......完全没有问题。考虑到我的访问量并不多(每天大约 4000 次页面浏览,其中大部分都被缓存了),我可以负担得起以低优先级运行它们,并且它们仍然可以完成工作。CPU 方面,我以 0 的“niceness”(默认值)运行 apache,后台任务的“niceness”从 10 到 18。一切都很好。
内存是一个问题,因为其中一些任务的内存占用量很大。其中一些实际上会崩溃,因为在需要时没有足够的内存。通常发生的是:
VPS 在 1 Gig 的 RAM 系统上运行,目前没有定义 SWAP。我认为添加一个 SWAP 空间(免费,因为它不会花费我更多),可能是我问题的一个很好的解决方案。在上述事件的过程中,后台任务使用的一些内存可能会被交换,从而降低这些任务的性能,但话说回来,我对此没有问题。
我想避免的是交换 apache 内存,因为它会降低最终用户对网站的响应能力。就像我用“nice”表示 apache 比后台任务更重要一样。如果您看到我的问题的另一种解决方案,欢迎您提出任何建议。我也在改进后台任务以减少它们的内存占用,但这需要一些时间。