问题标签 [ext3]
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.
svn - 减少 .lock 文件 svn co 创建的数量?
我正在对包含大约 9K 目录的目录进行 Subversion 更新。存储它的文件系统有刚刚超过 4K 的空闲 inode。我看到运行 svn 更新的问题,因为系统用完了 svnclient 创建的 .lock 文件的 inode:
是的,已经消毒了。:) 似乎正在发生的是 svn 创建了一堆 .lock 文件。我认为问题在于取消链接的速度不够快,因为如果我使用 strace ( strace -o /tmp/deleteme svn update
) 减慢操作速度,则更新会在其他目录上失败。如果没有减慢的 strace,它每次都发生在完全相同的目录上。
现在调整这个文件系统的大小会很不方便(它必须是 ext3 和这个大小,暂时),由于 ext3s 不足,我无法添加 inode。有没有办法让 svn 创建更少的 .lock 文件,或者使用操作系统提供的不需要创建额外文件的实际文件锁定功能?我知道flock 在NFS3 等上不起作用——但我不检查NFS。或者,是否有一些 ext3 可调参数可以用来加速断开链接?
有什么聪明的解决方法吗?它可以运行“svn update ./*”,但这需要永远。比如,几十分钟。我猜想创建 9K SSL 连接比创建一个慢。:)
linux - dentry 和 i-node 的数量
我在考试中有以下问题:
在 ext3 文件系统中,dentries 的数量高于 i 节点的数量。
我不得不用真假来回答并解释。
我的答案:
这是错误的,因为dentries 是目录之间的链接,基本上所有东西都是一个i-node(甚至是一个目录)所以#i-nodes > #dentries。
但是我没有考虑到 ext3 文件系统。有什么我错过的或者我的答案是正确的吗?
linux - 访问 ext3 / ext4 期刊
ext3 和 ext4 文件系统具有日志功能。是否有一些 API 可以获取有关文件的详细信息或事件?
某种 API,允许用户空间程序访问文件的日志条目。甚至是日志事件,例如“文件 x 已删除”。
这似乎是某种文档,但我不确定它是否正确。
java - 从生产者到消费者的可靠文件传递
我有两个独立的 Java 进程,一个生产者和一个消费者,它们的行为如下:
制片人:
消费者:
此代码仅使用哈希文件来表示数据文件已完成。此处未验证哈希值。在正常负载下,应该每 3 秒切换一次。在非常重的负载下,速率可能会增加到每 100 ms 一次切换。文件系统是 ext3,data=ordered。
如何确保消费者永远不会看到不完整的文件?
一种选择是根据散列验证数据文件的内容,但这似乎不必要地昂贵。我考虑过使用java.nio.channels.FileLock
,但我担心它不会消除对哈希检查的需要,因为如果生产者崩溃,即使文件可能仍然不完整,操作系统也会释放其所有锁。这实际上很可能会产生不完整的文件。也许一个锁加上一个消费者仍在运行的检查?
embedded - 嵌入式设备中的 ext2/ext3
我希望能够在嵌入式设备中使用 ext2 或 ext3 文件系统,而不必使用 Linux。我计划安装一个带有 SATA 硬盘驱动器的嵌入式处理器。我在 Kernel.org 上找到了源代码,但我不确定如何使用它。理想情况下,我想要一些可以调用的函数来写入/读取文件等。是否有任何关于此的文档或有人做过类似的事情。
谢谢
乔恩
sqlite - B 树的节点使用哪种数据结构?
根据 Knuth 的定义,m 阶 B 树(每个节点的最大子节点数)是一棵满足以下性质的树:
(1) 每个节点最多有 m 个子节点。
(2) 每个节点(根节点除外)至少有 ⌈m⁄2⌉ 个子节点。
(3) 如果根不是叶节点,则根至少有两个孩子。
(4) 具有 k 个子节点的非叶节点包含 k-1 个键。
(5) 所有叶子都出现在同一层次,并携带信息。
资料来源:维基百科
B 树的一些可视化如下所示:
从这个可视化中,我认为每个节点都有一个数组数据结构(或至少类似的东西)。
其他看起来像这样:
这看起来更像是一个类似列表的数据结构。
所以我的问题是:
B树使用哪种数据结构?
我的算法类中的使用示例是数据库和文件系统。有人知道SQLite如何实现 B-tree 节点吗?还是ext3?或者任何其他(众所周知的)现实世界的例子?
linux - 如何遍历具有 500GB 数据的 ext3 类型磁盘
磁盘上有大约 1000 万个文件(不在同一目录下)。
我想获取所有文件的 [(file_name, file_size, file_atime)]。但是命令
查找 /data -type f -printf "%p\t%A@\t%s\n"
速度非常慢,导致 IO %util ~100%。
有什么建议吗?
linux - 如何实现 2 个节点之间并发文件访问的共享存储(Linux)
我需要设计一个在 2 个节点上运行单独实例的集群应用程序。这些节点都是在 VMware 上运行的 Linux VM。两个应用程序实例都需要访问一个数据库和一组文件。
我的意图是共享存储磁盘(两个节点外部)应该包含数据库和文件。应用程序将协调(通过类似 RPC 的机制)以确定哪个实例是主实例,哪个是从属实例。主服务器将具有对共享存储磁盘的写访问权限,而从服务器将具有只读访问权限。
我在确定共享存储设备的文件系统时遇到问题,因为它需要支持跨 2 个节点的并发访问。由于成本原因,选择专有的集群文件系统(如 GFS)不是一个可行的选择。有什么方法可以通过其他方式在 Linux (EXT3) 中完成?
期望的行为如下:
- 实例 A 写入共享磁盘上的文件 foo
- 实例 B 可以立即读取 A 写入文件 foo 的任何内容。
我也尝试过使用SCSI PGR3,但它不起作用。
linux - 保存大量文件的最佳目录结构
我们开发的一款软件会生成越来越多的文件,目前每天大约 70000 个文件,每个文件 3-5 MB。我们将这些文件存储在具有 ext3 文件系统的 Linux 服务器上。软件每天新建一个目录,将当天生成的文件写入该目录。写入和读取如此大量的文件越来越慢(我的意思是,每个文件),所以我的一位同事建议每小时打开子目录。我们将测试这是否使系统更快,但这个问题可以概括为:
有没有人根据目标目录中的文件数测量写入和读取文件的速度?是否有一个最佳文件数,高于该数将文件放入子目录会更快?可能影响优化的重要参数是什么?
先感谢您。
linux - 为什么在复制大量小文件时,NTFS 文件系统比 EXT3 文件系统慢?
我已经运行了以下测试,我使用此批次创建了一个包含 15'000 个 400 字节文件的文件夹:
然后我使用以下命令在我的 Windows 计算机上复制过去:
完成后,我可以看到传输速率为 915810 字节/秒,小于 1 MB/秒。我花了几秒钟来复制 7 MBytes 请注意,这非常慢。
我已经尝试过使用单个文件为 50 MB 的文件夹,传输速率为 1219512195 字节/秒。(是的 GB/s)瞬时。
为什么复制大量文件会占用 Windows 文件系统上的大量时间资源?
请注意,我尝试在具有 ext3 文件系统的虚拟机(vmware 播放器)中的同一台计算机上运行的 linux 系统上执行相同的操作。
我使用 cp 命令,复制是瞬时的!
另请注意以下事项:
- 没有杀毒软件
- 我已经在多台 Windows 计算机(总是 ntfs)上测试了这种行为,我总是得到可比较的结果(传输速率低于 1MB/s,平均 7-8 秒复制 7 MBytes)
- 我已经在多个 linux ext3 系统上进行了测试,该副本始终是即时的(15000 个 400 字节的文件)
- 问题是要了解是什么让 Windows 文件系统复制大量文件的速度比 Linux 文件系统慢。