标签: disk

文件系统块大小与磁盘块大小

我正在阅读《Hadoop:权威指南》,然后出现了以下段落。

磁盘具有块大小,这是它可以读取或写入的最小数据量。单个磁盘的文件系统通过处理块中的数据来构建,块是磁盘块大小的整数倍。文件系统块的大小通常为几千字节,而磁盘块的大小通常为 512 字节。

我的理解是磁盘块受硬件限制(每次可以从磁盘读取/写入的数据量)。操作系统创建称为文件系统的抽象,其中它有自己的块大小,该块大小比磁盘块大小大(多倍)。与磁盘类似,操作系统读/写数据的大小为文件系统块大小。对于单个读/写文件系统块,将执行多个磁盘块操作。我的理解正确吗?

filesystems file disk

9
推荐指数
1
解决办法
5966
查看次数

内存映射 - 部分基于磁盘的算法

是否有任何有关可溢出数据结构的好资源或书籍,即队列?

存储大型对象时,它可能会占用所有内存,但是如果你可以在内存中保留该队列结构中最常用的项目而其余部分保留在磁盘上(有点像分页).

同样,此问题适用于其他结构,如链表,数组,哈希表等.

memory-management disk data-structures

8
推荐指数
2
解决办法
2180
查看次数

磁盘数据库存储,最佳实践

如果这个问题对您来说很常见,我很抱歉,我快速搜索了这个网站并进行了一些谷歌搜索,但找不到令人满意的答案.

我的问题是这个;

我现在只做了3到4年的软件开发人员.这似乎是一个足够长的时间来自己回答这个问题但是在我所有的时间里,我从来没有开发过软件,其中数据存储的主体不需要在在线数据库中.但是,这次,我的最新开发只需要将其数据仅存储到磁盘.

实际数据本身很轻.在代码中,主资产将是一个只有少数基于字符串的属性的类,必须持久化.我最初的想法是简单的序列化.在应用程序关闭时,新资产只是序列化并作为文件存储在磁盘上.我也可能为了备份目的(或者如果它在某种程度上是序列化类的更好选择),XML文件也是合适的.

我无法想到这两种方法中任何一种明显的缺点,正是这一事实让我公开提出这个问题.根据我的经验,很少有一个问题的解决方案没有它的缺点.

c# storage disk local

8
推荐指数
1
解决办法
1919
查看次数

如何从Linux上当前运行的Python进程访问数据结构?

我有一个长期运行的Python进程,它产生的数据比我计划的要多.我的结果存储在一个列表中,该列表将在程序完成时被序列化(pickle)并写入磁盘 - 如果它到达那么远.但是按照这个速度,列表更有可能耗尽所有1 GB以上的可用RAM,并且该过程将崩溃,从而在此过程中丢失所有结果.

我计划修改我的脚本以定期将结果写入磁盘,但是如果可能的话,我想保存当前正在运行的进程的结果.有没有什么方法可以从正在运行的进程中获取内存中的数据结构并将其写入磁盘?

我找到了code.interact(),但由于我的代码中没有这个钩子,所以它对我来说似乎没什么用(查看现在运行的Python程序的方法).

我在Fedora 8上运行Python 2.5.有什么想法吗?

非常感谢.

沙欣

python linux memory fedora disk

8
推荐指数
1
解决办法
1297
查看次数

哪些是HD中数据密集型读写的最佳实践?

我正在开发一个C++应用程序(在Linux机器中运行),它非常密集地读取日志文件并将派生结果写入磁盘.我想知道哪些是优化这类应用程序的最佳实践:

  • 哪些OS调整可以提高性能?
  • 哪种编程模式可提高IO吞吐量?
  • 预处理数据(转换为二进制,压缩数据等)是一个有用的措施吗?
  • 分块/缓冲数据是否有助于提高性能?
  • 我应该注意哪些硬件功能?
  • 哪些实践最适合在这些应用程序中进行性能分析和测量?
  • (在这里表达我缺少的担忧)

有一个很好的阅读,我可以得到这个基础知识,所以我可以调整现有的技术诀窍我的问题?

谢谢

c c++ io performance disk

8
推荐指数
1
解决办法
1023
查看次数

Bash监视磁盘使用情况

我买了一个NAS盒子,上面有一个debian版本的debian.

前几天它空间不足,我没有意识到.我基本上想写一个bash脚本,当磁盘超过90%时,它会提醒我.

是否有人知道一个脚本会这样做或给我一些关于写一个的建议?

linux bash shell debian disk

8
推荐指数
2
解决办法
7553
查看次数

自定义引导加载程序问题

我正在尝试为Hobby OS编写一个引导加载程序并让它运行良好.没什么特别的,只打印一行文字:

BITS 16
ORG 0

start: jmp main


OEM         db "Test OS "           
BytesPerSector:     DW 512
SectorsPerCluster:  DB 1
ReservedSectors:    DW 1
NumberOfFATs:   DB 2
RootEntries:    DW 224
TotalSectors:   DW 2880
Media:      DB 0xf8  
SectorsPerFAT:  DW 9
SectorsPerTrack:    DW 18
HeadsPerCylinder:   DW 2
HiddenSectors:  DD 0
TotalSectorsBig:    DD 0
DriveNumber:        DB 0
Unused:         DB 0
ExtBootSignature:   DB 0x29
SerialNumber:   DD 0xa0a1a2a3
VolumeLabel:    DB "HOBBY  OS  "
FileSystem:         DB "FAT12   "



main:
    ;Adjust code Seg.
    cli
    mov ax, 0x07c0
    mov …
Run Code Online (Sandbox Code Playgroud)

x86 assembly disk utility bootloader

8
推荐指数
1
解决办法
422
查看次数

如何修复/隔离硬盘坏块

在上个月Ubuntu开始出现一些问题:它突然关闭而没有任何明显的原因..我发现问题出在硬盘上,如果我运行这个命令:

$ sudo badblocks -sv -b 512 /dev/sda
Run Code Online (Sandbox Code Playgroud)

我在Linux分区中得到24个坏块(我在另一个中有Windows,它没有相同的问题).问题是是否有一种方法(不同于更改磁盘)以避免这种关闭.也许隔离坏块?

disk

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

使用Java NIO直接访问Windows磁盘

我正在使用一个使用Java NIO的库,以便直接将文件映射到内存,但我无法直接读取磁盘.

可以直接使用FileInputStreamUNC 读取磁盘,例如

File disk = new File("\\\\.\\PhysicalDrive0\\");
try (FileInputStream fis = new FileInputStream(disk);
    BufferedInputStream bis = new BufferedInputStream(fis)) {
    byte[] somebytes = new byte[10];
    bis.read(somebytes);
} catch (Exception ex) {
    System.out.println("Oh bother");
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法将其扩展到NIO:

File disk = new File("\\\\.\\PhysicalDrive0\\");
Path path = disk.toPath();
try (FileChannel fc = FileChannel.open(path, StandardOpenOption.READ)){
    System.out.println("No exceptions! Yay!");
} catch (Exception ex) {
    System.out.println("Oh bother");
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪(由原因决定)是:

java.nio.file.FileSystemException: \\.\PhysicalDrive0\: The parameter is incorrect.

at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at …
Run Code Online (Sandbox Code Playgroud)

java nio disk unc drive

8
推荐指数
1
解决办法
1898
查看次数

如何在不输出所有目录的情况下运行"du"命令,例如安静模式?

我试图让Linux的一个目录的大小,但它有很多子目录,似乎采取永远给我的答案是什么大小之前要经过所有这些文件和目录.我搜索了帮助和手册输入和在线,但找不到任何东西.是否真的必须在扫描时输出每个目录?有没有办法加快这个过程?通常使用其他命令,您只需使用"-q"安静模式开关即可.

linux shell command disk du

8
推荐指数
1
解决办法
3794
查看次数