无论如何,有没有办法防止进程被杀死?我知道,nice
但我不确定是否给诸如长时间运行的内存密集型rake
任务之类的任务提供最高优先级会阻止它被杀死:
nice -n -20 rake xyz
Run Code Online (Sandbox Code Playgroud)
编辑:即使服务器资源不足,原始海报也很可能希望它具有高优先级,以至于其他进程首先被杀死。
我在 Ubuntu 12.04 上运行服务器。我尝试执行的操作是git clone
,作为我正在实施的新备份系统的一部分。源和目标都是本地的,因此克隆中不涉及网络活动。
该服务器托管 Minecraft,我希望能够在服务器运行时在后台执行此类操作。然而,每次我尝试它时,它都会锁定服务器并让所有人离开,尽管我尽了最大努力限制对资源使用的影响。
这是我确定可以工作的命令:
nice -n 19 ionice -c 3 git clone bukkit backup
Run Code Online (Sandbox Code Playgroud)
从我读过的内容来看,这应该给进程最低的 CPU 优先级和“仅空闲”磁盘优先级。但是,它仍然具有锁定和超时每个连接到 Minecraft 服务器的相同效果。需要明确的是,git 存储库不在活动服务器文件夹中,因此不存在任何类型的文件访问冲突。
如有必要,我可以提供有关硬件规格的详细信息。谢谢。
我在一个目录中有 400 张图片。我用 nautilus 查看目录。
我第一次打开目录很慢。我有一台带有 4 核和大量 RAM 的现代笔记本电脑。
我的用例:
结果:
猜测:
我的结论:
问题:我可以做些什么来解决这个问题?
也许我可以设置一个配置,或者为开发人员创建一个错误报告?
我拉到顶部,发现一个程序正在使用约 80-90% 的 CPU。我增加了niceness,看看是否可以减少负载。然后我尝试将同一过程的好处降低到初始水平,并被告知我没有适当的权限。这里所需的特权差异是否有充分的理由?
我有一台运行 14.04 64 位 Ubuntu 服务器的服务器,但我遇到了一个“有趣”的问题。我有 2 个用户同时运行一些程序 - d 和 m。用户“m”的进程不是时间关键的,因此在“nice”值19上运行。用户“d”的进程是时间关键的,因此在标准的“nice”值0上运行问题是,用户“m”的进程仍然比用户“d”的进程获得更多的CPU时间。
此外,尽管 CPU 压力很大,但其中一个 CPU(快照中的 3 个)几乎没有任何用处。
我无法在运行 Ubuntu 服务器 10.04 64 位的相同机器上重现该问题(我知道,我现在应该已经更新了)。
我附上 htop 运行的快照来说明这个问题。谁能帮我这个?
提前致谢。
PS - 屏幕截图在上传时变小,变得太小而无法阅读。这是一个完整大小的文件的链接。
我正在使用“top”命令,我发现了不错的价值。我知道优先级以及一个好的值如何指示进程的优先级。但我似乎无法弄清楚“好”或“未好”这个词是什么意思。
有没有办法让程序(即 Firefox)使用启动器(“nice firefox”)中的nice命令执行?在别处看到一 (1) 个帖子说您可以右键单击“启动”图标并选择“编辑命令”,但我的似乎没有该选项。(Ubuntu 14.04 LTS)
我的 PC 上的一些后台作业执行繁重的处理。以最高水平运行它们仍然会产生缓慢的交互性并使我烦恼。
有没有比最大好更好的方法?
只要我使用 PC,我就希望后台作业停止。如果我大约五分钟不使用 PC,它可以继续。
后台工作没有最后期限。如果需要更长的时间也没关系。
我想放慢速度的工作是一个视频编码过程,它每个 CPU 使用一个线程。在我的笔记本电脑上,有 4 个线程产生 400% 的负载。
nice ×8
performance ×3
command-line ×2
process ×2
server ×2
.desktop ×1
12.04 ×1
14.04 ×1
cpu-load ×1
idle ×1
launcher ×1
nautilus ×1
privileges ×1
top ×1
unity ×1