问题标签 [disk-io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
82 浏览

windows - 调整包含大量文件的文件夹中的图像大小时,GraphicsMagick 速度较慢 (+80k)

我注意到,当我尝试调整位于包含超过 80k 个其他图像(同一级别没有子目录)的文件夹中的图像大小时,调整大小可能需要将近 2 秒。(1.92 秒)

然而,在一个只有 10 张其他图像的文件夹中,同一张图像几乎是即时的(0.02 秒)。

  • 我正在batch模式下对此进行测试,因为我的应用正在使用gm4java:1.1.0.
  • 在 Windows 10 上运行
  • NTFS(我认为这可能是一个问题,运行 contig.exe,但没有改变)
  • GraphicsMagick 1.3.21

这是我的命令和输出:

我在 SO 或sourceforge上找不到任何相关信息。任何想法为什么它这么慢?

0 投票
0 回答
249 浏览

metrics - collectd + 石墨磁盘写入累积而不是每个时间段

我的主机收集的大多数统计信息(例如可用/已用内存等)在石墨上以每个时间段的单位显示,并按预期生成锯齿状图表。但是,当我检查 collectd 磁盘插件中的指标时,我看到值的斜率随着时间的推移不断上升,就好像这些值被加在一起一样,如下图所示:

几天的磁盘写操作

当我检查主机上 collectd 插件的 .conf 文件时,磁盘插件的相关文件仅包含“LoadPlugin 'disk'”。什么可能会阻止我的设置像collectd 磁盘插件 wiki上的那样显示磁盘统计图表?

0 投票
1 回答
49 浏览

mysql - MYSQL 写入在磁盘上不可见

在此处输入图像描述

正如你在图片中看到的,我从 MySQL 获得了 ~14-15Mb/s(也达到 50-60Mb/s)的写入,在 phpMyAdmin 中它显示每秒大约 400-500 次写入。同样在下图中,您可以看到 IO 图表 在此处输入图像描述

问题是我找不到这些数据的写入位置。由于我在 mysql 中看不到任何插入/更新查询,而且当我检查目录大小时,它也是一样的。那么这些数据写在哪里呢?

编辑:RAM 也没有被使用,请查看下面的屏幕截图。 在此处输入图像描述

0 投票
1 回答
608 浏览

linux - cent os中每个进程的磁盘IO

我在 cent os 上运行了三个 java 进程。

我想单独监控这些进程的磁盘 io,我想找出给定时间范围内它们的最小、最大和平均磁盘 io。

我查看了IOTOP命令,认为我可以在 IOTOP 输出上运行脚本来获取最小值、最大值和平均值。

但是当我使用进程 ID 运行 IOTOP 命令时,我发现这些进程 ID 中没有显示任何 IO。

然后我运行以下命令:iotop -o,我看到 IOTOP 正在报告 Java 进程中线程级别的活动。

我想在 linux 中获取进程级别的磁盘 io,并且我假设属于进程的所有线程的 io 都应该在进程级别上进行计算。

我可以为这样的输出使用什么命令?

是否有任何工具也可以找到给定时间窗口的这些值的最小值、最大值和平均值?

0 投票
1 回答
3166 浏览

kubernetes - Kubernetes节点高磁盘IO和CPU使用率

我运行 1.5.2 版的 Kubernetes 集群,在 AWS 上使用 Kops 进行设置。该设置没有任何异国情调。我的节点m4.xlarge使用 70 Gb 的磁盘存储和 1000 iops 运行。

我有一段时间我的一些节点对 iops 感到疯狂。这是我看到的:

在此处输入图像描述

所以你把我所有的 iops 都放在 docker 覆盖目录中。以下是 kubelet 日志显示的内容:

0 投票
0 回答
32 浏览

c# - 可排序和可过滤表中的增量加载

背景

我正在开发一个 HTML 表,其中包含来自 ~50,000 个小型 (~4KB) XML 文件的数据。每个 XML 提供表中的一行,每个 XML 节点是表的一列(每个文件 7 个节点)。该表支持列级排序和过滤(就像您在 Excel 电子表格中看到的那样)。

问题

我一次加载所有〜50k文件,然后确定它们在内存中的顺序。这会导致一些时间(加载时间过长约 2 分钟)和内存性能问题。我想知道其他人是如何解决这个问题的,或者他们是否有任何想法来解决这个问题。

我试过什么

增量加载似乎不是一个选项,因为我支持列级排序和过滤,我必须一次性加载所有约 50k 文件,然后确定它们在内存中的顺序。我见过有人将 XML 文件命名为具有所有可排序的列值,但由于我有许多带有大字符串的列,因此将它们包含在名称中似乎不可行。

0 投票
2 回答
2278 浏览

disk - fio -numjobs 越大,iops 就会越小,原因是什么?

iops:(8 个线程和 iodepth=64)-> 356, 397, 399, 396, ... 但是当 -numjobs=1 和 iodepth=64 时,iops -> 15873

我觉得有点困惑。为什么 -numjobs 越大,iops 就越小?

0 投票
5 回答
19252 浏览

python - 写入数据库时​​,Python 3 中 SQLite3 的磁盘 I/O 错误

我是一名刚开始接触 python 的学生,我的任务是创建一个关系数据库管理系统。我想我走了很远,但我似乎碰壁了。这是我的代码:

当我使用第 4 行将输入指向 :memory: 运行它时,它运行良好,我拥有我认为的关系数据库。

但是,当我尝试像这样运行代码,将数据写入 db 文件时,我收到此错误:

我搜索了stackoverflow,并且使用了google,但我认为我发现的任何案例都不符合我在这里尝试做的事情(或者我不知道发生了什么在)。我注意到我的代码的另一件事是它将数据输入到内存中的速度非常快,但是当我写入 db 文件时它真的很慢,它不应该是硬件限制,因为我使用的是 SSD。任何帮助将不胜感激!

0 投票
3 回答
256 浏览

c# - 在写入相同文件时,本机操作系统操作是否在每个进程的基础上进行了优化?

我试图了解通过 C# 中的托管代码完成的文件写入操作的一些内部细节。假设我在下面写了一段代码来将一些内容写入日志文件:

要在磁盘上写入文件,我可以列出一些必须发生的事情:

  • 在指定路径搜索文件
  • 检查用户对目录和路径的权限访问。打开磁盘上任何文件的文件句柄需要您通过必须受访问控制的本机操作系统调用。
  • 打开文件句柄
  • 加载磁盘驱动程序(这可能发生在操作系统启动时本身,但也需要对此进行确认)
  • 实际磁盘旋转
  • 硬盘驱动器磁头/主轴运动
  • 创建 I/O 缓冲区等
  • 将数据块从磁盘拉到 RAM。
  • <<I could be missing few more as I'm not very thorough with disk I/O at OS level>>

我试图理解的事情或内部细节是,对于StreamWriter我在应用程序中创建的每个新的类实例,是否会重复上述步骤,或者如果每个时间是同一进程谁要求将某些内容写入完全相同的文件?

0 投票
1 回答
6915 浏览

python - 如何使用 Python 获取当前磁盘 IO 和网络 IO 的百分比?

我想编写一个 Python 代码以百分比形式读取磁盘 IO 和网络 IO,就像我们在 Windows 任务管理器中看到的那样。目前我正在使用psutil.disk_io_counters()psutil.net_io_counters()。通过这个,我得到了磁盘 IO 的字节读取字节写入,以及网络 IO接收的字节和发送的字节。但我不知道如何将它们转换为百分比。还观察到disk_io_counters()net_io_counters()没有给出实例值。我已经尝试过此链接中提供的建议。但我没有得到想要的价值。我的操作系统是 Windows,但我希望脚本以独立于平台的方式使用。因此,无需安装任何工具,例如iotopiostat,是否可以获得我需要的值?我尝试了以下代码:

我还尝试了以下代码来检查是否使用psutil.io_counters()提供即时磁盘 IO。代码是:

但我观察到这些值不是那个时候的。为了证明我已经收集了两个系统进程的磁盘 IO,io.counters()并看到它在一段时间后以递增的顺序变化。这意味着它正在从进程的开头添加磁盘 IO。以下是快照: