AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1111104
Accepted
SPooKYiNeSS
SPooKYiNeSS
Asked: 2019-01-20 02:41:31 +0800 CST2019-01-20 02:41:31 +0800 CST 2019-01-20 02:41:31 +0800 CST

在 18.04.01 LTS 上使用带有 HandBrake 的 RamDrive

  • 772

我想利用一些我很少使用的 RAM 来创建一个 RAM 驱动器,以便一些对系统很重的软件可以从使用该 RAM 中获得一点帮助。

我特别想运行Handbrake,最好使用 GUI。我有有关如何创建实际 RAM 驱动器的相关软件和信息,所以我不需要帮助,但我想知道是否

  1. 我可以设置手刹,以便在进行一些可能有助于改进的计算时,它有利于 RAM 驱动器而不是临时文件目录,如果不是...

  2. 是否可以将我的 Handbrake 安装在特定的地方(比如在实际的 RAM 驱动器上,以便它会自动使用它;我注意到 Ubuntu 从不要求安装位置,它只是把它想要的东西放在它想要的地方,我们有在这件事上几乎没有选择)。

  3. 但我也想知道“我可以在 RAM 驱动器上安装任何东西,还是只能与具有允许您强制它使用 ram 驱动器作为临时工作驱动器的设置的东西一起使用,或者是所有软件都只是安装在它所在的位置并且不可更改(从外行的角度来看)。

手刹确实使我的处理器工作非常努力并且变得非常温暖,这是之前被选为随机示例的另一个原因。

ram-usage 18.04
  • 2 2 个回答
  • 1025 Views

2 个回答

  • Voted
  1. vidarlo
    2019-01-20T03:27:57+08:002019-01-20T03:27:57+08:00

    Handbrake 是一个视频转换工具。视频转换工具往往是 CPU/GPU 重的,而不是 IO 重的。

    在 CPU 上编码,我通常每秒获得 25-100 帧。如果您有一部 50Mb/s 24fps 的电影,这意味着您必须摄取 200Mb/s 或 25MB/s。这是从文件中顺序读取,这是最简单和最可预测的IO。即使是旋转的 5400RPM 廉价笔记本电脑硬盘驱动器也不会出现零问题。

    即使将编码率提高四倍,达到 400fps,也只有 100MB/s。这在 7200rpm 硬盘驱动器的范围内,对于 SSD来说微不足道。除非您有非常专业的视频编码硬件,否则您可能会看到使用 RAM 缓存视频转换数据对编码速度的改进为零。在这种情况下,要走的路可能是快速固态硬盘,它可以轻松处理每秒千兆字节的数据。

    RAM 仅在磁盘 IO 是您的瓶颈时才有意义。要进行优化,您应该首先确定实际的瓶颈,然后找出解决该瓶颈的方法。

    此外,将 RAM 专用于 RAM 驱动器可能会使事情变慢。Linux 非常擅长在未使用的 RAM 中缓存内容。但是,如果您通过使用专用 RAM 驱动器强制它缓存某些内容,则可能会因缓存而受益的内容不会被缓存。

    当然,在某些情况下,您希望在 RAM 中显式缓存内容......

    1. 您必须快速缓存一些输入以进行处理。例如,这可能是来自某个外部传感器的数据突发,它以比您的磁盘更快的速度在短时间内提供数据。在这种情况下,在写入磁盘之前对其进行缓存是一个很好的策略。

    2. 您有一个进程,即 IO 绑定,需要临时存储数据集。

    3. 您有(少量)您不关心的数据,但您暂时需要。例如,这可能是网络服务器的 phpsession-files。

    在很多情况下,第二个例子可以用管道代替,这样就不需要存储了。只有在必须立即提供完整数据集的情况下才需要存储。

    在大多数其他情况下,无论如何您都必须将数据读取或写入磁盘。如果要保留转码的结果,则必须将其移至磁盘。如果要将要转码的视频移动到 RAM 驱动器,则必须先从磁盘读取它,依此类推...

    请记住,操作系统默认将文件缓存在 RAM 中。每当操作系统读取文件时,它都会缓存在 RAM 中。当一个文件被写入时,它会被缓存。

    • 3
  2. Best Answer
    vanadium
    2019-01-20T05:17:06+08:002019-01-20T05:17:06+08:00

    通常,Linux 上的应用程序使用专用的 tmp 目录 /tmp 或 /var/tmp 来存储它们的临时文件。/tmp据称是为了快速短期使用,而/var/tmp应该在靴子之间持续存在。如果您的目标是减少 SSD 磁盘的撕裂和磨损,那么当应用程序写入这些临时目录时,将 /tmp 移动到 RAM 将消除 SSD 磁盘活动。

    您可以移动/tmp到 RAM,将此行添加到您的/etc/fstab:

    tmpfs /tmp tmpfs rw,nosuid,nodev,noatime 0       0
    

    tmpfs 文件系统使用的内存根据需要增加和减少。如果内存不足,则使用交换。默认情况下,Ubuntu 已经默认使用 tmpfs 来处理/run,/dev/shm等目录。

    显然,这是一个笼统的答案。如果应用程序也将 /tmp 用于其临时文件,它还将帮助您手刹。

    • 2

相关问题

  • “MiB”中“i”的含义?

  • 为什么 ubuntu 使用的 RAM 是 debian 的两倍?[关闭]

  • 如何创建 RAM 驱动器?

  • 如果有空闲 RAM,如何清空交换?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve