问题标签 [ext4]

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 回答
949 浏览

linux - 将文件写入 ext4 卷后,除了刷新之外,我还需要做更多的事情来保证文件被完全写入吗?

我编写了一些代码,其中非常重要的一点是文件的内容被写入磁盘

我正在使用 ext4,这样日志就可以保证卷的完整性

为了保证我的文件实际上在磁盘上,并且在发生崩溃时重播日志时不易受到错误的影响,除了flush()之外,我还需要做其他事情吗?我相信就是这样,刷新的合同是内容在磁盘上,并且所有缓冲区/缓存都被刷新

0 投票
1 回答
1161 浏览

java - 用 Java 将日志写入 SSD 的最快方法是什么?

我有一些小事务,我需要将它们同步到 java 程序中的 SSD 上的文件系统(ext4)。

如果我需要在每次事务后与文件系统同步,将这些事务顺序写入文件的最快方法是什么?每个事务的数据非常小,但如果这会增加事务/秒,则可以写入更多(例如填充一页)。

数据写入一次后,只能读取。

此外,是否对文件系统进行了任何调整以提高性能?是否有更适合该任务的稳定文件系统?

更新:这似乎是一个文件系统问题。使用同步时,Ext4 比 Ext3 慢得多?建议? 更新问题的解决方案是预分配文件(在 java _file.setLength(size) 中)。这将导致在 ext4 上预先分配空间并且将所有元数据写入一次。在此之后,写入文件将只编辑用户数据,元数据保持不变。在我的情况下,这导致了 10 倍的加速。

0 投票
1 回答
7740 浏览

linux - 每个目录的最佳文件数与 EXT4 的目录数

我有一个程序可以生成大量小文件(比如 10,000 个文件)。创建它们之后,另一个脚本会访问它们并一一处理。

问题:

  • 就性能而言,文件的组织方式是否重要(都在一个目录或多个目录中)
  • 如果是这样,那么每个目录的最佳目录和文件数是多少?

我用ext4文件系统运行 Debian

有关的

0 投票
2 回答
9121 浏览

linux - 恢复使用 rsync -avz --delete 删除的文件

是否可以恢复使用 rsync -avz --delete 删除的文件?如果是,有哪些建议的工具可以做到这一点?

0 投票
1 回答
759 浏览

linux - 结构 super_block 和 ext2_super_block

谁能解释一下 struct ext2_super_block (在 fs/ext2/ext2.h 中)和 struct super_block (在 include/linux/fs.h 中)之间的关系。我问这个是因为,在 LKP(由 Robert Love 撰写)中,它说每个文件系统都必须实现 struct super_block。但是 ext2_super_block 不同,super.c 中的函数是如何应用于 ext2 的?

0 投票
1 回答
5883 浏览

postgresql - postgresql initdb - 目录不为空

我正在 ubuntu lucid 服务器上安装 postgres 8.4(不,目前我们在该服务器上使用“lucid”LTS 版本,因此尚无法升级(尽管我们现在将很快开始精确测试系统) ))

我已经使用 ext4 文件系统为 /var/lib/postgresql/8.4/main 目录设置了一个自己的分区。(那些真正喜欢 postgres 安装的人知道现在发生了什么......)由于 ext4 在所有文件系统的根目录中放置了一个 lost+found 目录,postgres 不会使用该目录作为它的数据目录,因为它最初是不是空的...

initdb: directory "/var/lib/postgresql/8.4/main" 存在但不为空 如果要创建一个新的数据库系统,删除或清空目录 "/var/lib/postgresql/8.4/main" 或运行initdb 的参数不是“/var/lib/postgresql/8.4/main”。

最简单的方法是删除 lost+found 并在 initdb 完成工作后重新创建它。- 这会导致任何问题吗?lost+found 是否有任何特殊属性或任何使其无法重新创建的东西,而且,除了 checkdisk 找到需要放在那里的东西之外的任何其他时间都需要它?

另一种方法是卸载 .../main/ 文件系统,初始化数据库,临时将 .../main/ 文件系统安装在其他地方,将东西移到那里并将其安装到位。似乎比“最简单的方法”多一点工作。

或者是否有某种方法可以让 initdb 忽略该目录不为空?(看不到任何命令行开关)

postgres 主目录中的 lost+found 目录可能会导致任何问题吗?

目前我在虚拟机上运行系统进行测试,所以如果我把事情搞砸了真的没关系,但在将其作为安装关键任务系统的官方方式之前,最好有一些对此的想法。

0 投票
1 回答
873 浏览

ext4 - 如何使ext4文件系统块组具有块组描述符和超级块

我发现在ext4文件系统块组的android、数据分区和系统分区中,只有0、1、3、5、7等有块组描述符和超级块。但是在Linux中都是一些,你能告诉我如何使ext4文件系统块组有块组描述符和超级块

0 投票
1 回答
1825 浏览

ubuntu-11.04 - ext4fs 在挂载时找不到 ext4 文件系统

我正在尝试在我的 ubuntu 11.04 natty 上安装 iso

当我

我知道 ext4 是我的文件系统

但是,当我尝试使用

我得到:

有什么解决办法吗?

谢谢你的帮助

0 投票
2 回答
155 浏览

linux - 保护在 apache 服务器上运行的每个站点的源代码

我已经设置了一个 apache 服务器实例(在 ubuntu 12.04 上)并在其上托管了两个 php 网站。网站由不同的团队维护,他们不希望其他团队可以看到代码。

网站代码位于目录 /etc/sites/team1 和 /etc/sites/team2 中。两个团队都可以通过 FTP 访问服务器(使用 vsftpd)。网络服务器使用属于 www-data 组的用户 www-data 的凭据运行。这意味着站点目录中存在的所有文件都必须具有用户 www-data 或组 www-data 的读取权限。当用户通过 FTP 客户端上传文件时,文件的所有者和组被设置为 FTP 用户的用户和组。

如何将每个通过 FTP 服务器上传的默认组设置为 www-data?

一种方法是将 FTP 用户的默认组设置为 www-data,但在这种情况下,两个站点的 FTP 用户都将拥有组 www-data,并且每个文件至少具有该组的读取权限,他们将能够看到彼此的代码。

保护源代码的正确方法是什么,以便 apache 服务器可以访问它们,但其他团队不能访问它们?

0 投票
0 回答
316 浏览

extjs - 如何在javascript中解析一个json对象

我有两个 JSON 对象,我必须在 ExtJs 网格中显示这是我的网格,我从 Servlet 获得的数据我得到一个空的网格