问题标签 [ramdisk]

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

sql - SQL 提示在执行前将整个表加载到 RAM 中?

我在 OLAP 环境中的一些非常大的表上运行一些聚合查询。我目前受到 200 MB/s 的磁盘 IO 的限制。

我在具有 92 GB RAM 的机器上执行这些查询。是否有任何 SQL 提示可以写入我的查询,基本上告诉 SQL 在执行之前将整个表加载到 RAM 中?

就像是:

使用 (ramdisk) 从 myTable 中选择 *

我正在使用 MS TSQL。

0 投票
1 回答
1044 浏览

php - 保存在 ramdisk 中的 php 会话

我正在尝试将我的 php 会话保存在 ramdisk 上。我有权限问题,但我看不出问题出在哪里。

  1. 我有虚拟磁盘:

    /dev/ram0 407M 2.4M 404M 1% /var/lib/php/session/ramd

  2. 我有权限:

    drwxrwx---. 3 root apache 1024 Mar 24 01:53 ramd

  3. 我的错误:

    Warning: session_start(): open(/var/lib/php/session/ramd/sess_b0ko6hl3p6ojj2ot3qfqvm9km1, O_RDWR) failed: Permission denied (13) in /var/www/html/index.php on line 3 Warning: Unknown: open(/var/lib/php/session/ramd/sess_b0ko6hl3p6ojj2ot3qfqvm9km1, O_RDWR) failed: Permission denied (13) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session/ramd) in Unknown on line 0

  4. 在 php.ini 中,session.save_path 变量设置为"/var/lib/php/session"

  5. 在我的脚本中,我将 session.save_path 设置为"var/lib/php/session/ramd"

如果我使用我创建的 ramdisk,我可以将我的会话保存在 /rand 文件夹中。我安装它..我不能。我还尝试了 chmod root:root / apache:apache 和 chmod 0777 1777。现在是 0770。

我使用:CentOS 6.4、PHP 5.3.3、Apache/2.2.15

有人可以帮我解决这个问题吗?

乐:

0 投票
1 回答
1250 浏览

macos - 无法创建 Postgresql 数据库

我可以成功地为 PostgreSQL 数据库创建 ramdisk。

此命令成功:

其中 dbPath 是 ramdisk 上的目录。
这里:

我收到此错误:

我无法理解这个错误。ramdisk 刚刚创建,它是空的,大小为 50 MB。新创建的数据库也是空的。为什么会出现“设备上没有剩余空间”消息?

谢谢你。

0 投票
2 回答
419 浏览

c - 在 /dev/shm 中并行创建大文件:性能

我需要在 /dev/shm 中创建一个大文件(几 GB)。这是Linux机器上的RAMdisk。这必须尽可能快。我目前在 C 中使用 5 个单独的 POSIX 线程来创建连续的 100 MB 段,然后我有另一个线程将它们连接到主输出文件上。

这很快,但我想更快。我可以消除连接线程吗?有没有办法打开一个文件,并让每个线程将它的 100 MB 段写入最终输出文件中的正确位置?

0 投票
1 回答
945 浏览

performance - 如何通过将文件移动到 Ramdisk 来加速 Java 项目?

我有一个简单的 maven - Java EE Web 应用程序,我使用 IntelliJ 开发并部署到 Glassfish 服务器。问题是,部署大约需要 15 秒。我知道它不会太长,但我正在努力让它更快。

我安装了 RAMDISK 并将我的项目移动到该磁盘中,但没有帮助。然后我也将 Glassfish 移到 RAMDISK 中,但性能仍然没有变化。

我是否还需要将 JDK、JRE 移动到 RAMDISK 以查看更改?甚至是 IDE 本身?

为什么将项目和 glassfish 移动到 RAMDISK 没有做出任何改变?

谢谢。

顺便说一句,对于 CLOSE 问题的粉丝来说,有这样的问题:

我可以使用 RAM 磁盘来加速我的 IDE 吗?

先关闭那些。

0 投票
1 回答
10244 浏览

mysql - RAMdisk 上的 MySQL 内存引擎与 InnoDB

我正在编写一些软件,需要将数据从分层类型的格式展平为表格格式。我不想每次都用一种编程语言来完成并提供服务,而是想将结果缓存几秒钟,然后使用 SQL 进行排序和过滤。在使用时,我们说的是在这几秒钟内进行了 400,000 次写入和 1 或 2 次读取。

每个表将包含 3 到 15 列。每行将包含 100 字节到 2,000 字节的数据,尽管在某些情况下,某些行可能会达到 15,000 字节。如有必要,我可以剪辑数据以保持理智。

我正在考虑的主要选择是:

MySQL的内存引擎

一个不错的选择,几乎是专门为我的用例编写的!但是..“MEMORY 表使用固定长度的行存储格式。VARCHAR 等可变长度类型使用固定长度存储。MEMORY 表不能包含 BLOB 或 TEXT 列。” - 不幸的是,我确实有长度可能高达 10,000 个字符的文本字段 - 即使这是一个没有特别限制的数字。当我循环进行展平时,我可以根据文本列的最大长度调整 varchar 长度,但这并不完全优雅。另外,对于我偶尔的 15,000 个字符行,这是否意味着我需要为数据库中的每一行分配 15,000 个字符?如果有 100,000 行,则为 1.3 GB,不包括开销!

RAMDisk 上的 InnoDB

这意味着要在云上运行,我可以轻松地启动具有 16gb 内存的服务器,配置 MySQL 以写入 tmpfs 并使用功能齐全的 MySQL。我关心的是空间。虽然我确信工程师已经编写了内存引擎来防止消耗所有临时存储并导致服务器崩溃,但我怀疑这个解决方案是否知道何时停止。数据库格式时,我的 2,000 字节数据将消耗多少实际空间?我怎样才能监控它?

奖金问题

索引 实际上我会提前知道哪些列需要过滤和排序。我可以在插入之前设置一个索引,但是老实说,我可以在 ram 磁盘上获得什么样的性能提升?索引增加了多少额外开销?

插入 我假设用一个查询插入多行会更快。但是一个查询或一系列大查询存储在内存中,我们正在写入内存,所以如果我这样做,我暂时需要双倍的内存。所以然后我们谈论一次做一两个或一百个,并且必须等待它完成才能处理更多.. InnoDB 不会锁定表,但我担心发送两个查询彼此太近并且令人困惑mysql。这是一个有效的担忧吗?使用 MEMORY 引擎,由于表锁,我必须等待完成。

临时 临时表除了在数据库连接关闭时被删除之外,还有什么好处吗?

0 投票
1 回答
379 浏览

hadoop - RAMdisk 中的 HBase 较慢

我有一个关于将 Apache HBase 与 RAMdisk 一起使用的一般性问题。单个表中有大量数据,总共大约 25GB。有了这些数据,我正在使用 Java 程序进行一些基本的聚合。

由于我有足够的可用 RAM,我尝试使用 tmpfs 将此数据集放入 RAMdisk:

然后我停止了 HBase,将数据文件夹的内容复制到 RAMdisk 中。最后,我创建了一个符号链接,将旧数据目录链接到新目录并再次启动 HBase。

它可以工作,但是当我现在处理聚合时,它变得比以前稍慢。

我可以想象使用 RAMdisk 没有那么大的影响,如果 HBase 压缩数据(激活了 Snappy 压缩)等等......但我无法猜测为什么更快的介质会导致更慢的访问数据。有足够的可用 RAM,因此这不会成为瓶颈。

也许有人对此有一般的想法或见解?

0 投票
3 回答
36315 浏览

linux - 嵌入式linux中的busybox显示“找不到小程序”

我自己编译了busybox,我把它放到了我们的嵌入式linux中。但我有一些问题。

问题1:当我尝试使用gzip之类的命令时,它会打印“gzip:applet not found”。当我检查busybox的menuconfig时,我确保我选择了“gzip”。

问题2:我以前使用VIM,但是busybox只提供VI。所以我将VIM链接到VI,但是当我输入vim并运行它时,它也显示“vim:applet not found”。

任何人都可以帮助我解决“找不到小程序”的问题吗?非常感谢。

PS:我对busybox的“小程序”感到困惑,它是什么?像java中的“applet”?

0 投票
3 回答
3021 浏览

linux - Linux 中的 IntelliJ IDEA 编译加速

我在 Linux 上使用 IntelliJ IDEA,最近我有 16 GB 的 RAM,那么有什么方法可以使用这个内存加速我的项目编译?

0 投票
1 回答
473 浏览

ubuntu - 从 Ramdisk 运行 Android Studio 的问题

我正在从安装在 /media/ramdisk/ 上的 tmpfs(Ubuntu 13.10)运行 Android Studio 0.3.2。我使用'sudo sh StartRamDisk.sh'安装它们,即加载到ramdisk上的我的android studio文件的所有者和组是'root'。

当我在设置我的“ANDROID_SDK_HOME=/jaggib/”之后运行 AVD 管理器时,它从“/root/.android/avd”开始。

但是每次我启动Android模拟器时,我都会得到这个:

我怎样才能解决这个问题。