问题标签 [tmpfs]

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

apache - httpd 不会在文件夹中打开 index.php,像 tmpfs 一样挂载

我有一个问题:我挂载文件夹/var/www/html/testram

并将文件 index.php 与一些文本放在一起。当我从网络浏览器打开网站时,我看不到任何文字。我有的:

在日志中我有错误:

PHP警告:

我做了一个实验并创建了一个文件夹

并创建文件

用相同的文字。

当我从网络浏览器打开这个 index.php 时,我看到了文本。

为什么我在 tmpfs 中没有看到来自 index.php 的任何文本。

谢谢

chown apache.apache -R testram有什么作用

0 投票
2 回答
2207 浏览

linux - xattr/extended 属性不可为 /tmp 中的文件设置,而在同一挂载上的 $home 中工作正常

我正在使用 Linux/Fedora 下的扩展文件属性,我目前有点磕磕绊绊,因为我无法添加/更改文件的属性,/tmp而在我的家中它工作正常 - 虽然两个路径都在同一个挂载点上,即

例如,我可以成功地为我的主目录中的文件添加和检索属性,例如,

但是,相同的文件在/tmp.

我假设,对扩展属性的支持仅取决于使用 xattr 支持“正确”安装的文件系统。但是,它似乎也依赖于目录(??),我想知道,是什么阻止我在 /tmp 中设置扩展属性以及如何更改它?(似乎与 SELinux 无关——至少我在审计日志中没有发现任何内容。)

0 投票
1 回答
1355 浏览

linux - 如何在 /run 中为每个 Supervisor 程序创建一个目录?

我有一个 Ubuntu 14.04 LTS 服务器,在 Supervisor 下运行几个不同的程序。许多程序需要在文件系统上存储套接字和其他命名管道,并且/run似乎是这些类型文件的理想选择。不幸的是,/run每次重新启动时都会删除 tmpfs,并且需要 root 权限来(重新)创建每个程序可以写入的目录。

我需要一种方法来创建一些子目录/run并将所有者/模式设置为每个程序可以使用的东西,并在每次重新启动时在 Supervisor 尝试启动它们之前这样做。看起来 Supervisor 不支持在启动程序之前运行预启动命令的机制。

此类问题的大多数其他答案都建议在 init 脚本中执行此操作,但这属于 Supervisor 的包,我不想弄乱它(或者在上游更改时必须维护它)。

如果这台机器有 Systemd 似乎我可以使用/etc/tmpfiles.d,但事实并非如此。

我想出的最好主意是pre-start为每个程序使用单独的 Upstart 脚本,该脚本只创建目录而不实际启动任何进程。就像是:

/etc/init/myapp1.conf

...没有任何exec线路。我不是 100% 确定这是有效的还是理智的,但它似乎有效。有没有更清洁的方法来做这样的事情?

0 投票
1 回答
1371 浏览

memory - 将 tmpfs 或 ramfs 绑定到特定的内存节点

我正在使用具有两个内存节点的 NUMA 服务器。

我想创建一个文件系统,它将加载到主内存中,如 tmpfs 或 ramfs,并且我想将它绑定到特定的内存节点。换句话说,我不希望 ramfs 内容在两个内存节点之间交错。

那么我该如何实现呢?

我已经尝试了带有 --file 选项的 numactl 命令,但它似乎只适用于单个文件(我需要加载一个目录)。

谢谢

0 投票
4 回答
841 浏览

bash - Time complexity of finding duplicate files in bash

I had to write a Bash script to delete duplicate files today, using their md5 hashes. I stored those hashes as files in a temporary directory:

It worked perfectly, but led me to wonder: is it a time-efficient way of doing that? I initially thought of storing the MD5 hashes in a file, but then I thought "no, because checking whether a given MD5 is in this file requires to re-read it entirely every time". Now, I wonder: is it the same when using the "create files in a directory" method? Has the Bash [ -f ] check linear, or quasi-constant complexity when there are lots of file in the same directory?

If it depends on the filesystem, what's the complexity on tmpfs?

0 投票
1 回答
951 浏览

gradle - Gradle 将构建文件夹移动到 /tmp

我想知道如何将构建文件夹移动到某个地方,例如/tmp.

在我的情况下/tmp,文件夹是 tmpfs,主文件夹是加密的。我认为没有理由不加快构建过程并减少硬盘负载。

0 投票
0 回答
115 浏览

linux - 访问 linux tmpfs 是事务性的吗?

我目前在我的分布式应用程序中遇到了一些奇怪的问题。这个应用程序通常会做以下事情:

  • 从 NFSv3 文件系统读取和写入数据
  • 从 tmpfs 文件系统读取和写入数据
  • 一个进程在 tmpfs 上生成文件并使用另一个进程(或另一个最终是 pthread 的 java 线程)访问它们
  • 一个进程在 NFSv3 上生成文件并使用另一个进程(或另一个最终是 pthread 的 java 线程)访问它们
  • 将数据写入 NFSv3 并从另一台机器读取相同的数据

我们发现 NFSv3 存在许多延迟问题,但这些问题是众所周知的:如果您在 NFS 上写入文件,而不是尝试从另一台机器读取,则在另一台机器上执行 stat 系统调用时,可能需要长达 90 秒才能可用。

所以我们实现了一些重试代码来解决这个问题。

最近我们在 tmpfs 上也发现了类似的行为,但由于它在 ram 中,我认为在写入结束时,同一台机器与在写入结束时执行的另一个线程应该看到该文件,但我们得到了一个错误。

所以我们决定再次实现另一个重试块

问题是:当代码停止写入文件时,tmpfs 是事务性的吗?

更一般地说,如何在不同的文件系统上应用这个概念?

谢谢马可

0 投票
0 回答
753 浏览

docker - 如何处理 docker 容器中的 pid 文件

我的容器在第二次运行时没有启动,因为 /var/run/ 中遗留了一个 pid 文件。

我正在考虑在 tmpfs 上安装 /var/run/ 是前进的方向,但这需要容器具有运行特权。

有没有更好的方法来处理 pid (和其他临时)文件?

0 投票
0 回答
959 浏览

java - 示例如何通过 java 使用 tmpfs 将目录存储在内存中

我想在内存中创建一个目录,经过几天的谷歌搜索后,我发现使用 tmpfs 是一种方法,请如果有人知道如何使用 tmpfs 和 java 创建目录。这是我用来在系统中创建目录的内容。

0 投票
2 回答
570 浏览

mysql - 不同的 sql 在两台服务器上解释。“复制到 tmp 表”非常慢

我有一个查询在开发服务器上执行的时间比在产品上的时间短(数据库是相同的)。Prod 服务器效率更高(64gb 内存,12 核等)。

这是查询:

在开发服务器上有以下解释结果:

而这个来自产品:

prod 服务器上的分析结果向我展示了类似的内容:

谷歌搜索了一段时间后,我决定将临时表移动到 RAM 中:

/etc/fstab:

目录规则:

/etc/mysql/my.cnf(玩了很多价值观):

它不起作用。执行时间仍然相同,大约 5 秒。能否请您回答2个问题:

  1. tmpfs 配置有什么问题?
  2. 为什么服务器上的解释不同,我该如何优化这个查询?(即使不使用 tmpfs;我发现如果最后一个“order by”被删除,查询完成得更快)。

提前致谢。