标签: disk

为什么redis内存已满时数据没有持久化到磁盘上?

在 redis.conf 文件中,我们将最大内存策略设置为 allkeys-random 驱逐策略,并分配 4GB 作为最大内存。我们插入了 500 万个键,但当我们实际检查 dbsize 时,它​​只显示大约 250 万个。

所以我有一个问题,逐出策略是否仅从内存或磁盘中删除密钥?

理想情况下,只要给定的最大内存已满,选择用于逐出的键就应该刷新到磁盘,以便以后在需要时可以从磁盘检索它们。

Conf 文件注释仅提到密钥将被删除,但没有说明它们是仅从内存中删除还是从磁盘(即持久存储)中删除。

谢谢。

memory disk configuration-files redis

3
推荐指数
1
解决办法
505
查看次数

文件的磁盘扇区和块分配

我对 Disk Sector 和 Block 有疑问。一个扇区是一个通常为 512 字节或 1k、2k、4k 等的单位,取决于硬件。文件系统块大小是一组扇区大小。

假设我正在存储一个 5KB 的文件,如果扇区为 512 字节而块为 4KB,如何将其写入磁盘?

该文件的 4KB 写入一个块,另外 1KB 的文件写入另一个 4KB 块。现在第二个块的 3KB 无法使用。

以后会用还是会浪费?如果我将10个5KB的文件写入磁盘,会浪费30KB的大小,还是这30KB用于磁盘使用?

disk sector

3
推荐指数
1
解决办法
5046
查看次数

如何查找磁盘卷的格式

我正在更新我编写的备份实用程序并在Mac App Store上有.

在Macintosh Cocoa应用程序中,如何查找磁盘卷的格式?我找到的唯一官方事情是做一个GetResourceValue:'NSURLVolumeLocalizedFormatDescriptionKey',但这是依赖于语言的.

我的实用程序不支持为FAT32格式化的卷.我的实用程序需要对XSan驱动器进行特殊处理.

macos cocoa disk

3
推荐指数
1
解决办法
449
查看次数

为什么 Shutils 和 df 报告的磁盘大小存在百分之几的差异?

我正在编写一个简单的监控脚本,我想在其中添加磁盘空间检查。df然而,我发现系统和之间报告的可用空间不同shutils.disk_usage()

在安装了三个磁盘的系统上:

# df / /mnt/2TB1 /mnt/1TB1
Filesystem      1K-blocks       Used Available Use% Mounted on
/dev/sda1       472437724  231418380 216997128  52% /
/dev/sdb1      1921802520 1712163440 111947020  94% /mnt/2TB1
/dev/sdc1       960380648  347087300 564438888  39% /mnt/1TB1

# python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import shutil
>>> (t, u, f) = shutil.disk_usage('/')
>>> (t, u, f)
(483776229376, 236973805568, 222203674624)
>>> …
Run Code Online (Sandbox Code Playgroud)

python filesystems diskspace disk python-3.x

3
推荐指数
2
解决办法
1576
查看次数

为什么硬盘上的顺序写入比随机写入快

就像在文件尾部附加日志条目,或者就像mysql记录其重做日志一样,人们总是说顺序写入比随机写入快得多。但为什么?我的意思是,当您在磁盘上写入数据时,寻道时间和旋转时间决定性能。但是在两次连续的顺序写入之间,可能还有很多其他写入请求(例如 nginx 记录 access.log)。这些写入请求可能会将磁头移动到其他磁道,当您的进程进行顺序写入时,它需要再次将磁头移回原处,并产生旋转时间。即使没有其他过程时,磁头可以静止不动,但也需要等待旋转。那么,顺序写入优于随机写入是否真的只是因为在许多情况下顺序写入不包含寻道时间,而随机写入总是包含寻道时间,但顺序写入和随机写入都包含旋转时间?

database filesystems storage disk

3
推荐指数
1
解决办法
2058
查看次数

为 macOS 开发用户空间只读磁盘驱动程序

我有一种特殊的磁盘映像格式(已压缩并带有坏块等额外信息),并希望将其作为/dev/rdiskmacOS 中的块设备使用(例如在 下)。

我正在寻找有关如何编写只读块级用户空间驱动程序的指针。

我相信我需要使用 IOKit 来完成此操作,但该领域的文档非常稀疏,并且据我所知没有提供任何示例代码。

我看过 Amit Singh 的Mac OS Internals,但这仅涉及过滤通过添加的驱动程序路由的现有块。但我需要从单独的文件中读取数据,即我需要使用文件系统,如果可能的话,我也想在用户空间应用程序中执行此操作,因为制作 kext 既难以调试,而且现在也已被弃用。

理想情况下,这应该适用于当前的 macOS 版本,包括 10.15,但我也对仅适用于较旧的 macOS 版本(从 10.6 开始)的解决方案感到满意。

也许我仍然误解了这里的一些事情。我的印象是,甚至在 10.15 之前就可以编写用户空间 IOKit 驱动程序。但对于块存储设备来说这可能是不可能的吗?欢迎任何澄清。我感觉很失落。

2020 年 6 月 22 日更新

我还在 OSXFUSE 支持论坛上提出了这个问题,并得到了否定的答复

macos disk iokit

3
推荐指数
1
解决办法
806
查看次数

如何在磁盘而不是 RAM 中保留大哈希值?

由于散列很大,我的 RAM 太少而无法完成计算。是否有一个插入式 Perl 模块可以让我使用哈希而不将其全部保存在 RAM 中?我预计它会达到 4GB 左右,而我的脚本可用空间不足 2GB。我认为处理时间或磁盘 I/O 不是问题。

perl ram disk

3
推荐指数
1
解决办法
96
查看次数

如何获取磁盘分区的 GUID?

我正在使用 WMI 来获取所有磁盘信息,如驱动器、驱动器号等,但我还没有找到如何获取每个分区的 UUID/GUID。

delphi wmi guid disk

3
推荐指数
1
解决办法
1092
查看次数

什么是Cocoa中的SQLite3磁盘I/O错误

我在雪豹10.6编程.我的应用程序成功打开了一个本地存储的数据库,但是当它尝试插入数据库时​​,我继续收到"磁盘I/O错误".任何人都有任何关于可能导致这种情况的想法?

谢谢杨

sqlite io disk

2
推荐指数
1
解决办法
3704
查看次数

如何计算硬盘容量?

我有一个如何计算硬盘容量的工作示例,任何人都可以解释BOLD数据的来源吗?

RPM:7200

没有部门:400

没有拼盘:6

没有头:12

气瓶:17000

平均寻求时间:10毫秒

在相邻气缸之间移动的时间:1millisec

给我的答案的第一行是:

12 x 17 x 4 x 512 x 10 ^ 5

我只是想知道粗体部分来自哪里.512我不知道.10是从寻道时间但它的力量5?

size disk capacity

2
推荐指数
1
解决办法
2万
查看次数