问题标签 [hard-drive]
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.
performance - 固态驱动器是否足够好,无需担心磁盘 IO 瓶颈?
我有一个概念验证程序,它只需通过从 HD 写入和读取来进行一些进程间通信。是的,我知道这真的很慢;但这是启动和运行的最简单方法。我一直计划返回并使用一种在 RAM 中执行所有 IPC(进程间通信)的机制来交换那部分代码。
随着固态硬盘的到来,你认为瓶颈可能会变得微不足道吗?
注意:它是用 C# 编写的服务器软件,调用一些用 FORTRAN 编写的裸机数字运算库。
c# - 如何在 .NET 中不使用 WMI 找到硬盘设备序列号?
我想从硬盘获取硬连线序列号,但不使用 WMI。我尝试使用 WMI 代码,但它肯定不能在我的机器上运行。那么.NET中是否有任何替代方法可以查找物理硬盘的序列号?
c# - C#中限制用户访问C盘?
我有一个 winform 来合并几个文件并将合并文件保存在目录中。
保存它的目录,它会删除其中的整个文件和子目录。
现在我希望用户不能将文件保存在我的电脑、C、D 驱动器中。
用户可以通过 FolderBrowserDialog 选择目录。
我如何限制用户这样做?
你能帮忙吗?
.net - 如何枚举硬盘
我正在编写一个 .net winforms 应用程序。我希望能够枚举系统上的所有硬盘驱动器。
此外,我希望能够确定哪些驱动器是固定的,哪些是可移动的。
最后,在可移动驱动器中,我希望能够确定其中哪些是闪存(SSD 或拇指)驱动器与标准硬盘驱动器。
c# - 如何使用 C# 获取硬盘序列号?
VISTA支持的不使用dll如何获取硬盘序列号
macos - 如何将磁盘的物理扇区映射到 Mac OS X 上 HFS+ 卷上包含它们的文件
我一直在使用dd_rescue恢复硬盘,它为我提供了由于硬件错误而无法复制的所有设备扇区的列表。
我想拿那个列表,写一个工具给我所有包含这些坏扇区的文件,这样我就可以删除它们。我不确定我可以使用哪些 API 来执行此操作 - 基本上我想获取磁盘上所有文件的列表以及每个文件在磁盘上占用的扇区范围的列表。
我的第一个猜测是我将遍历磁盘上的每个目录条目并检查文件是否与这些坏扇区中的一个重叠。也许有更好的方法。
performance - Perl:写入速度之谜?
输出速率怎么可能高于硬盘写入速率?
更新 1:我更改了以下内容:
关闭了杀毒软件。不用找了。
插入新的物理磁盘并使用第一个分区进行测试。(初始测试的磁盘在最后一个分区上,与系统分区分开,但在同一个物理磁盘上。)。结果:存在相同的循环模式,但系统在测试期间不再无响应。写入速度稍高(可能是由于使用了第一个分区和/或不再干扰系统分区)。初步结论:系统分区存在某种干扰。
安装 64 位 Perl。周期消失了,一切都在 2 秒的时间范围内稳定:单核 CPU 占 55%,写入速度约为 65 MB/s。
使用 64 位 Perl 在原始驱动器上进行了尝试。结果:介于两者之间。周期为 8 秒,CPU 20-50%,35 - 65 MB/秒(而不是 0-100%,0 - 120 MB/秒的深度周期)。系统只是轻微反应迟钝。写入速度为 50 MB/秒。这支持了干涉理论。
在 Perl 脚本中刷新。还没试过。
好的,我通过了第一关。我编写了一个 Perl 脚本,它可以生成一个非常大的文本文件(例如 20 GB),并且基本上只是一些:
其中 $line 是一个以“\n”结尾的长字符串。
当 Perl 脚本启动时,写入速率约为 120 MB/s(与脚本、 Process Explorer和 Performance Monitor 中进程 Perl 的“IO Write Bytes/sec”计算的结果一致)和 100% CPU 在单核上它正在运行。我相信这个速度比硬盘的写入速度要高。
然后在一段时间后(例如 20 秒和 2.7 GB 写入)整个系统变得非常无响应并且 CPU 下降到 0%。这持续例如30秒。这两个阶段的平均写入速度与硬盘的写入速度一致。本段中提到的时间和大小因运行而异。到目前为止,已观察到第一阶段的范围为 1 GB 到 4.3 GB。这是运行 4.3 GB 的成绩单。
测试中生成的 9.2 GB 文本文件有几个这样的周期:
到底是怎么回事?
完整的Perl 脚本和BAT 驱动程序脚本(使用 pre 标签格式化的 HTML)。如果设置了两个环境变量 MBSIZE 和 OUTFILE,那么 Perl 脚本应该能够在 Windows 以外的其他平台上不加改变地运行。
平台:来自 ActiveState 的 Perl 5.10.0;(最初是 32 位,后来是 64 位);build 1004。Windows XP x64 SP2,无页面文件,8 GB RAM,AMD 四核 CPU,500 GB Green Caviar 硬盘(写入速度 85 MB/s?)。
c# - 如何持续读取间歇性硬盘?
我有一个间歇性工作的故障硬盘。冷启动后,我可以访问它大约30-60秒,然后硬盘驱动器出现故障。我愿意编写一个软件来将此驱动器备份到一个新的更大的磁盘上。我可以在 GNU/Linux 或 Windows 下开发它,我不在乎。
问题是:我只能访问磁盘一段时间,而且有些文件很大,复制的时间会更长。出于这个原因,我正在考虑将整个硬盘备份成更小的部分,比如比特洪流。在尝试读取另一组之前,我将读取一些兆字节并存储它。我的主循环是这样的:
问题是 check_harddrive() 函数。我愿意用 C/C++ 编写这个以实现最大的 API/库兼容性。我需要对我的文件处理程序进行一些控制,以检查它们是否仍然有效,并且我需要一些东西来返回错误数据,但如果驱动器在复制过程中出现故障,则返回。
如果我滥用“硬编码”硬件异常,也许 C# 会给我最好的结果?
另一种方法是测量我需要多少时间来重启我的硬盘驱动器并编写一个程序以仅在这段时间内读取它,并标记我何时重启。
在这种情况下你会怎么做?是否有任何工具/实用程序已经这样做了?
哦,这里有一个很棒的应用程序可以读取不良光学媒体,它叫做 IsoPuzzle,它不是我的,我只是想分享一些与我的问题有关的东西。
!编辑!
一些澄清。我是家庭用户,是大学计算机工程专业的学生,我宁愿丢失数据也不愿花费数千美元来恢复它。硬盘仍然在希捷的保修范围内,但由于他们给了我 5 年的保修期,我想尽一切可能尝试直到时间用完。
当我说冷启动时,我的意思是几秒钟后没有电源启动。热启动将重新启动您的计算机,冷启动将关闭它,等待几秒钟然后再次启动它。由于有问题的硬盘是内置的但 SATA,我可以断开电源线,等待几秒钟,然后重新连接。
到目前为止,我将使用 robocopy,我只是在搜索它以了解如何使用它。如果我不需要自己编写代码,而是编写脚本,那就更容易了。
!编辑2!
我不清楚,我的驱动器是希捷 7200.11。众所周知,它有一个坏的固件,它并不总是可以通过简单的固件更新来修复(不是在这个错误出现之后)。驱动器物理上是100%处于工作状态,只是固件被拧紧,几秒钟后它进入无限忙碌状态。
configuration - Powershell:如何使用不同的用户名/密码映射网络驱动器
背景:假设我使用本地机器上的以下 powershell 脚本来自动映射一些网络驱动器。
问题:如何修改脚本以便我也可以连接到 romeobox,即使我在 romeobox 上的用户名/密码与其他两个盒子的用户名/密码不同?
air - 您可以使用 Adobe Air 检查可用的硬盘空间吗?
我们有一个 Adobe Air 应用程序,可以将大量图像下载到应用程序存储中。我扫描了文档并没有发现任何迹象,但我想我会仔细检查一下:任何人都知道是否有可能查看用户在其 HD 上拥有多少可用存储空间,因此我们可以警告他们他们没有足够的空间?