几个月以来,在我使用的其中一个桌面 Ubuntu 14.04 系统上,CPU 经常无缘无故地上升到 80-100%。htop通常会将责任归因于文件系统进程,例如nemo或ntfs。为了让 CPU 恢复正常,我会终止这些进程,这在某些情况下会导致无法访问文件系统并随后重新启动。
前几天我注意到,每当这种情况发生的另一个进程始终也存在使用高CPU: mediascanner-service-2.0。一些研究使我在论坛上找到了这个帖子,该帖子只是建议将其删除。所以我做了。
最终结果出人意料地是积极的:不仅高 CPU 负载的情况消失了,系统也变得更快了。Lens 的加速非常显着:找到像Calc这样的应用程序现在最多只需要 2 秒,而以前需要大约 20 秒。查找文件现在需要大约 5 秒,而以前需要 30 秒。像 Eclipse 这样的繁重程序启动速度更快,工作空间也更加流畅。磁盘访问频率似乎也整体降低了。
这个mediascanner2.0包究竟是什么?它是 Unity 7 的一部分还是后验安装的依赖项?是否可以阻止其安装?
更新:按照赛斯的建议,可以将这个包裹追踪到indicator-session:
$ sudo aptitude why mediascanner2.0
i indicator-session Recommends indicator-applet (>= 0.2) | indicator-renderer
i A unity8 Provides indicator-renderer
i A unity8 Recommends unity-scope-mediascanner2
pi unity-scope-mediascanner2 Depends mediascanner2.0 …Run Code Online (Sandbox Code Playgroud) 我运行了 powertop,它说 Realtek 音频编解码器正在使用 100.0% 的 CPU。这是一个问题吗?
我在 Intel® Core™ i7 CPU M 640 @ 2.80GHz × 4 Sony VAIO 笔记本电脑上运行 Ubuntu 11.10 32 位。
我在 Ubuntu 14.04 64 位。mount.ntfs使用高 CPU--40%。我有英特尔酷睿 i5-3210M。为什么会这样?
lsblk:
NAME FSTYPE SIZE MOUNTPOINT LABEL
sda 465.8G
??sda1 ntfs 300M Windows RE tools
??sda2 vfat 100M /boot/efi SYSTEM
??sda3 ntfs 438M Windows
??sda4 ntfs 97.7G
??sda5 ext4 94.1G /
??sda6 ntfs 263.3G /media/user/DATA1 DATA
??sda7 128M
??sda8 ntfs 9.5G Recovery
sr0 1024M
Run Code Online (Sandbox Code Playgroud)
top:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26199 root 20 0 14712 1940 684 R 45.5 0.0 3:07.80 mount.ntfs
26268 …Run Code Online (Sandbox Code Playgroud) 在过去的几天里,我的电脑一直在转动它的风扇,而没有做太多。我说的是 Firefox、gedit、几个终结器窗口的实例,仅此而已。我conky在我的桌面上运行,它告诉我以下内容:

比嘈杂的风扇更糟糕的是,X 锁定器的耗电量(如果您相信我们的能量监视器,大约为 50W)。应用程序一直冻结,我正在努力完成工作。这一切都让奥利成为一个呆板的男孩。
我真的很困惑,无论是conky还是htop被我展示一个过程,但我只是跑ps aux | sort -k 3,我看到了一些流程,看起来可能是导致我的痛苦:
root 6 0.0 0.0 0 0 ? S Nov27 0:00 [migration/0]
root 7 0.0 0.0 0 0 ? S Nov27 0:00 [migration/1]
root 11 0.0 0.0 0 0 ? S Nov27 0:00 [migration/2]
root 14 2589903 0.0 0 0 ? S Nov27 21114581:29 [migration/3]
root 17 97.2 0.0 0 0 ? S Nov27 11543:55 [migration/4]
root 26 97.7 0.0 0 0 …Run Code Online (Sandbox Code Playgroud) 我使用的是带有 SFTP 和控制台的 Ubuntu VPS。我需要一个特定的进程来仅使用 60% 的 CPU 和 2048 MB 的 RAM。
我还需要另一个进程仅使用 30% 的 CPU 和 1024MB 的 RAM。
如何限制进程的 CPU 和 RAM 使用量?
我想查看 CPU 使用率。
我使用了这个命令:
top -bn1 | grep "Cpu(s)" |
sed "s/.*, *\([0-9.]*\)%* id.*/\1/" |
awk '{print 100 - $1}'
Run Code Online (Sandbox Code Playgroud)
但它返回 100%。
正确的方法是什么?
我正在运行 ubuntu 16.04 服务器。当我使用 lscpu 命令时,我可以看到启用了炒作线程。
这些都是很好的讨论,为什么超线程可能不好。但没有关于如何关闭它的明确解决方案。
任何人都可以提供禁用超线程的步骤吗?谢谢 。
我是 Linux 和 Ubuntu 世界的新手。我想说获取有关 CPU 的最大信息。( cpufreq ,核心数,每核心线程数,指令集,缓存大小,指令集,虚拟化等)
我更喜欢一种适用于所有 Linux 发行版而不是 Ubuntu 特定方法的方法。
lscpu 似乎只提供了很少的信息,我特别想念这里的模型名称:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 69
Stepping: 1
CPU MHz: 989.531
BogoMIPS: 4788.74
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
Run Code Online (Sandbox Code Playgroud)
运行sudo …
Debian 邮件列表中有一篇与一些 Skylake 和 Kaby Lake 用户相关的帖子:[警告] Intel Skylake/Kaby Lake 处理器:损坏的超线程
用户要运行
grep name /proc/cpuinfo | sort -u
Run Code Online (Sandbox Code Playgroud)
获取他们的处理器详细信息,然后根据需要检查 http://ark.intel.com/products/codename/37572/Skylake或http://ark.intel.com/products/codename/82879/Kaby-Lake。
如果列出了他们的处理器,他们应该下次运行
grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
echo "Hyper-threading is supported"
Run Code Online (Sandbox Code Playgroud)
根据后续帖子,我击穿的上述命令不可靠,用户需要运行lscpu并检查是否
lscpu 输出报告:“每个核心的线程数:2”,这意味着启用并支持超线程。
如果支持超线程,则会为 Skylake 和 Kaby Lake 提供建议。
我在16.04上有一个受影响的 Skylake 处理器,可以修复,因为
grep -E 'model|stepping' /proc/cpuinfo | sort -u
Run Code Online (Sandbox Code Playgroud)
返回
model : 78
model name : Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz
stepping : 3
Run Code Online (Sandbox Code Playgroud)
对于此类处理器,建议的修复程序是安装
基础版本为 …
我正在尝试了解如何cgroup在 Ubuntucgroup上工作,但似乎在 Ubuntu 13.04 中不起作用。我正在使用这个问题的答案如何永久设置给定进程的 cpu 限制。cpulimit 和 nice 不起作用
这些是我所做的:
安装cgroup:
sudo apt-get install cgroup-bin
Run Code Online (Sandbox Code Playgroud)重启
使cgroup您的用户(过程的所有者):
sudo cgcreate -a ipeacocks -g cpu:ipeacocks
Run Code Online (Sandbox Code Playgroud)运行命令:
echo 100 > /sys/fs/cgroup/cpu/ipeacocks/cpu.shares
Run Code Online (Sandbox Code Playgroud)和命令:
cgexec -g cpu:ipeacocks stress --cpu 4
Run Code Online (Sandbox Code Playgroud)和输出:
cgroup change of group failed
Run Code Online (Sandbox Code Playgroud)
为什么?我做错了什么?