我的磁盘经常被使用,但top(和htop自定义替换)没有显示任何可疑之处。
有没有办法按 I/O(更具体地说:磁盘)利用率对进程进行排序?
编辑
发现使用iotop那些奇怪的过程是flush-8:16和jbd2/sdb3-7。似乎与通常的文件系统操作有关。
我正在寻找与磁盘访问等效的top,因此我可以判断当前正在读取和/或写入磁盘的进程。我目前正在使用 Ubuntu,但我想有一个标准工具可以作为 GNU 工具集的一部分使用。
我试图用它来iotop确定 CPU 是否在任何时候等待名为bwa(它是下一代序列对齐程序)的特定程序的 I/O。如果我开始时iotop没有指定特定进程 ( ),我会获得所有预期信息,包括和,但我感兴趣的进程不会显示在列表中。如果我随后指定我感兴趣的进程,则会抱怨“内核中未启用 CONFIG_TASK_DELAY_ACCT”。为了保持理智,我在我的内核配置文件 ( )中验证了已启用 ( )。-p pidSWAPINIO>iotop/boot/config-3.7.10-1.11-desktopCONFIG_TASK_DELAY_ACCTCONFIG_TASK_DELAY_ACCT=y
问题:
iotopthink未启用?CONFIG_TASK_DELAY_ACCT在我的工作中,顶级实用程序非常少,我想确保我没有遗漏任何一个。请扩展以下性能监控(顶级)系列 linux 工具列表:
唯一的标准 - 功能/风格的成熟度和相似性。
Process Explorer 能够显示给定线程的有效 IO 优先级,但不能更改它。由于 IO 优先级支持是一个相对较新的特性,大多数程序不会设置自己的 IO 优先级。似乎默认情况下 IO 优先级是从线程优先级(而不是进程优先级)派生的,Process Explorer 也无法修改。
是否有其他工具可以帮助我更改给定线程/给定进程的所有线程的 IO 优先级?
从 Windows 7 升级到 Windows 8 Professional 后,似乎有一些令人不安的问题。
当我打开任务管理器时,我有时会注意到磁盘使用率攀升至 50%、75% 或 100%,即使几乎没有任何磁盘活动在进行。当我按磁盘使用情况对进程进行排序时,执行此操作的始终是系统进程,但它传输的数据量似乎对记录的磁盘使用情况没有影响。
我见过任务管理器说 100% 磁盘使用率,系统进程写入 0.1 MB/s,系统进程写入 20 MB/s。每当发生这种情况时,鼠标似乎都能正常工作,因为我仍然可以移动它而不会滞后,但是任何类型的 IO 都会发生大量延迟。
如果我尝试点击东西,点击只会在几分钟后注册。如果我尝试输入任何内容,没有任何反应,几秒钟后,整个句子就会出现。
有时,而不是延迟发生的实际操作,几秒钟后我会听到与每次按键或点击相对应的一系列哔哔声。
不过,今天的问题已成倍恶化。以前,它似乎是随机发生的(虽然我认为在 Chrome 运行时它可能会更频繁地发生),但现在它在我启动系统后立即启动,并使整个计算机无法使用。
直到现在我都能够忽略这个问题,但它已经变得如此阻碍工作,我需要尽快解决这个问题。
我见过的其他来源建议检查磁盘错误。我跑了chkdsk,它说一切都很好,尽管自从最近发生的事件以来我没有运行它。
我还没有尝试启动到安全模式,主要是因为 Windows 8 启动速度太快而无法使用热键,但我会在更新后进行更新。
我知道我看到过建议硬件有问题的帖子,但我想这chkdsk会发现。我还看到有人建议它可能是某种低效的存储软件,但我唯一拥有的是英特尔 RST,我已将其禁用。
需要注意的一件有趣的事情是,几个月前,当这种情况可能只发生一次时,我查看了 Windows 性能诊断,发现它报告说我的近一半系统事件都丢失了。我不知道它是否相关,但我从未设法修复它,所以我想它可能是相关的。
最后,我看到许多消息来源建议运行 xperf 跟踪,这是我几周前在磁盘使用率高和滞后的瞬间实例中所做的。我已经把它附在这里(对不起,如果你需要一个微软帐户来下载,但它是我唯一有 100 兆空间的云存储)。
在我看来,它可能是由 CrashPlan 引起的,我发现我在备份引擎崩溃和无法终止服务方面遇到了一些问题。但是,当发生这种情况时,我不会每次都获得高磁盘使用率,因此可能是磁盘使用率导致 CrashPlan 崩溃,而不是相反。
恐怕我无法从机器的当前状态获得 xperf 跟踪,因为它运行速度太慢,我什至无法打开我.bat保存的文件夹,但如果我这样做了,我会发布它。
如果您知道任何事情,请帮助我,因为我迫切需要这台笔记本电脑用于学校,顺便说一句,这与我不能只重新安装 …
任何人都可以解释端口映射和内存映射之间的区别是什么,以及两者都完成了什么?为什么要映射端口,它在结构上与内存映射有何不同,许多架构是否有任何理由同时使用两者?另外,从这个意义上说,什么是“端口”,因为端口在不同的上下文中可能意味着不同的东西?
示例:端口转发,端口作为通信端点,“端口映射”。
假设我将 OUT 写到端口 400h(虚构;仅举个例子)(例如在 x86-64 等中)。
如果它不在内存中,我要写什么或写到哪里?“端口”是如何映射的,在这个意义上它是什么?
自从更新到 win 10 以来,我遇到了磁盘使用问题。有时(有时每 10 分钟一次,有时每几小时一次)我的系统变得没有响应,因为磁盘使用率为 100%。这种阻塞通常需要一两分钟才能解决。
如果我打开任务管理器,它说读写速度为 0,但我的磁盘仍然被 100% 使用。我希望有一些进程阻止了对所有其他进程的 IO 访问,所以我尝试查看重进程的性能监视器,但由于我只能看到每个进程/服务的当前读/写速度,我没有能够查明任何异常行为。
谁能告诉我如何诊断这种问题?正如您可以想象的那样,它确实降低了我的工作效率,老实说,当我的电脑表现出意外时,我讨厌它:p
问候, klmdb
PS:我搜索了 100% 磁盘使用问题并遇到了许多不同的建议(例如禁用某些 Windows 服务),但老实说,我宁愿不通过切断我的预期操作来“解决”问题操作系统。
我的 PC 显示 100% 磁盘使用率,但任务管理器只列出了 0.4Mbps,因为总使用量和 PC 冻结。
在其他时候,我可以看到磁盘 I/O 高达 7 Mbps,但 PC 没有死机。
我也深入研究了资源监视器,但我没有发现任何真正使用过多磁盘的东西。
我怎样才能追查到罪魁祸首的程序?我很确定它不是木马或病毒。
我无法上传屏幕截图,因为我在这个网站上还没有 10 分:-(
我刚收到一个新盒子。
它有一个用于主驱动器的 SSD和一个用于辅助驱动器的 1TB SATA 硬盘。
我将在 SSD 上运行 Windows 操作系统和我的二进制文件,并将我
所有的下载/文档/音乐/等保存在辅助驱动器上。
我的问题是,我还应该将 Visual Studio 项目和代码保存在 SSD 上,还是将它们保存在辅助驱动器上?
更快的 SSD 可能更适合编译和索引搜索,但是将它放在第二个驱动器上是否会更好以实现更并行的磁盘 IO 情况?
io ×10
hard-drive ×4
linux ×4
performance ×3
process ×3
top ×3
windows-10 ×2
cpu ×1
diagnostic ×1
memory ×1
port ×1
priority ×1
ssd ×1
unix ×1
utilization ×1
windows ×1
windows-7 ×1
windows-8 ×1