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
    • 最新
    • 标签
主页 / user-218034

Thomas Browne's questions

Martin Hope
Thomas Browne
Asked: 2022-03-29 03:11:21 +0800 CST

我可以同时使用 zRAM 和磁盘交换文件吗?

  • 0

我的机器中有 24GB 的可用 RAM,但我通常使用的内存远少于 8GB。但是,有时我涉及到大型数据文件,我突然需要 40GB,并且在极少数情况下,我希望能够访问更多(最多 60GB)。这主要是使用 numpy 和 Apache Arrow。

现在我有一个 20GB 的 ssd 交换文件,它工作正常,但显然很慢。我想用 zRAM 替换它,假设我在 16GB 上得到双重压缩,即 32GB,加上剩余的 8GB = 40GB 的“ram”。不过,理想情况下,我偶尔会想要超过 40GB,并想知道不适合 zRAM 的内容是否有可能进一步溢出到“传统”SSD 交换文件或分区中。

这是可行的吗?显然,我希望 zRAM 优先于磁盘交换文件。

swap
  • 1 个回答
  • 659 Views
Martin Hope
Thomas Browne
Asked: 2021-02-25 13:21:09 +0800 CST

Ubuntu ZFS 根分区快照对于系统回滚是否安全?

  • 1

以为 ZFS 支持我,昨天我开始使用 Gnome、Compiz 和 dconf 编辑器。几个小时后,Gnome 在各种插件上看起来确实不错,但在重新启动后,我的(复杂的,3 显示器)设置变得疯狂,Wayland 非常不高兴。所以我想我会在修补开始之前回到我的 Grub 快照历史记录(当时因为 apt 已经制作了一些快照)。

选择较旧的根快照(系统和用户),重新启动,似乎没问题。但是然后.... sudo apt update && sudo apt upgrade .... 整个系统变得混乱。开始搞乱内核和图形驱动程序更新。阿普特非常不高兴。很奇怪。并破坏了整个显示驱动程序设置,以至于我无法恢复系统,今天花了半天时间重新安装了20.04。这次是 ext 4(尽管到目前为止我对 ZFS 很满意)。

所以我想知道。ZFS 快照真的推荐用于“回滚”根分区上的操作系统吗?或者它真的只适用于数据驱动器或主目录。apt 是否会以某种方式感到困惑,即这种回滚会创建不可恢复的不一致状态吗?

zfs
  • 1 个回答
  • 658 Views
Martin Hope
Thomas Browne
Asked: 2021-02-23 13:20:29 +0800 CST

为什么有些快照很快,有些则那么慢?

  • 17

直接从冷 Fossa 启动,直到可用的用户界面:

搅拌机 2.91.2:4 秒

瘸子:11秒

方形 SVG:22 秒

Spotify:43 秒

后两者看起来像电子应用程序并且需要永远。由于这些电子应用程序似乎越来越普遍,有没有办法加快它们的快速加载时间?Spotify 尤其令人震惊。

snap
  • 5 个回答
  • 11866 Views
Martin Hope
Thomas Browne
Asked: 2020-10-27 15:08:11 +0800 CST

如何用交换文件替换 zram swap?

  • 3

我正在运行带有 Jetpack 4.4 的 Jetson Nano(Ubuntu 18.04),默认情况下,有 4x495 Meg ZRAM 分区用于交换空间。问题是,对于一个数据科学项目,我需要比 Jetson 上安装的 4gig 更多的 RAM(以及我从压缩 ZRAM 中得到的任何东西——不多)。所以我想制作一个 8gb 的交换文件而不是 ZRAM 交换。

在此处输入图像描述

如何完全禁用 ZRAM 交换以便创建交换文件?

我试过了

sudo apt remove --purge zram-config
sudo dpkg --purge zrawmswap-enabler
sudo dpkg --purge zram-config
sudo service zramswap stop

但这些都不起作用。ZRAM 交换仍然在重新启动时启用: 在此处输入图像描述

或者,我可以只创建一个磁盘交换文件并期望它替换 ZRAM 吗?

swap zram
  • 1 个回答
  • 3902 Views
Martin Hope
Thomas Browne
Asked: 2020-04-27 10:09:03 +0800 CST

从根目录下对我的整个引导驱动器进行“zfs 快照”是否安全?

  • 1

ZFS 可以像虚拟机快照一样使用吗?例如,使用 VirtualBox 或 VMM,我可以在运行和安装新软件之前对未运行的VM 进行快照,并且如果我搞砸了,总是恢复到工作配置。我可以使用 ZFS 执行此操作吗?

我已经看过很多我可以理解的快照我的主目录的示例,但是考虑到根目录“/”下某些文件的“流动”性质,在sudo zfs snapshot -r /@myrootsnapshot1安装引导驱动器并且 Ubuntu 正在运行时是否不安全?

更重要的是,恢复此类快照是否安全?目标是在安装新软件或尝试新配置之前进行快照,并在遇到问题时回滚。

如果不安全,针对此目标推荐的工作流程是什么?

virtualization zfs
  • 1 个回答
  • 211 Views
Martin Hope
Thomas Browne
Asked: 2020-04-24 23:59:57 +0800 CST

Ubuntu 20.04 上的 ZFS 是否使用大量内存?

  • 10

我安装了 64GB,但 htop 显示正在使用 20GB:

在此处输入图像描述

运行ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n为我提供了最大的进程,只使用了 100 兆字节,加起来整个输出只有 2.8GB ( ps aux | awk '{print $6/1024}' | paste -s -d+ - | bc)。这或多或少是我从昨天升级的 Ubuntu 19.04 中得到的——在没有应用程序运行时使用 3 到 4GB。那么为什么在 htop 上使用 20GB 呢?

现在确实我已经安装了 ZFS(总共 1.5 GB 的 SSD 驱动器,在 3 个池中,其中一个是压缩的),并且我一直在移动一些相当大的文件,所以我可以了解是否有一些缓存分配。htop Mem 条主要是绿色的,这意味着“内存正在使用”,而不是缓冲区(蓝色)或缓存(橙色),所以它非常令人担忧。

这个 ZFS 是否占用了大量 RAM,如果是,如果其他应用程序需要它,它会释放一些吗?

编辑

这是 smem 的输出:

tbrowne@RyVe:~$ smem -tw
Area                           Used      Cache   Noncache 
firmware/hardware                 0          0          0 
kernel image                      0          0          0 
kernel dynamic memory      20762532     435044   20327488 
userspace memory            2290448     519736    1770712 
free memory                42823220   42823220          0 
----------------------------------------------------------
                           65876200   43778000   22098200 

因此,罪魁祸首是“内核动态内存”。为什么这么多?

编辑 2 --> 似乎与创建大文件有关

我重新启动,内存使用量约为 5GB。即使在 Firefox 中运行一堆标签,运行一些虚拟机,占用 RAM 高达 20GB,然后关闭所有应用程序,它会降到 5GB。然后我在 Python 中创建了一个大文件(1.8G 的随机数 CSV),然后将其连接到自身 40x 以生成一个 72GB 的文件:

tbrowne@RyVe:~$ python3
Python 3.8.2 (default, Mar 13 2020, 10:14:16) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import pandas as pd
>>> pd.DataFrame(np.random.rand(10000, 10000)).to_csv("bigrand.csv")
>>> quit()
tbrowne@RyVe:~$ for i in {1..40}; do cat bigrand.csv >> biggest.csv; done

现在一切都完成了,机器上没有运行任何东西,内核使用了 34G!

在此处输入图像描述

最终编辑(测试答案)

这个 python 3 脚本(你需要 pip3 install numpy)将一次分配大约 1GB 直到它失败。根据下面的答案,一旦你运行它,内核内存就会被释放,所以我能够在它被杀死之前分配 64 GB(我只有很少的交换)。换句话说,它确认 ZFS 将在需要时释放内存。

import numpy as np
xx = np.random.rand(10000, 12500)
import sys
sys.getsizeof(xx)
# 1000000112
# that's about 1 GB
ll = []
index = 1
while True:
    print(index)
    ll.append(np.random.rand(10000, 12500))
    index = index + 1
ram zfs 20.04
  • 4 个回答
  • 13217 Views
Martin Hope
Thomas Browne
Asked: 2020-04-06 12:19:20 +0800 CST

通过网络从另一台计算机获取环境变量

  • 0

我的网络上有一个 myuserid@remotemachine,我可以通过公钥/私钥 ssh 访问它(即,不提示输入密码,直接让我登录)。有没有办法从我本地计算机上的 Python(或 bash 或任何其他标准 linux 命令)读取 remotemachine 上的myuserid环境变量之一,而无需运行预先准备好的远程脚本?

networking ssh bash environment-variables
  • 2 个回答
  • 706 Views
Martin Hope
Thomas Browne
Asked: 2015-09-27 14:17:27 +0800 CST

setxkbmap 未在 rc.local 启动时运行

  • 0

我想跑

setxkbmap -option caps:escape 

在 Kubuntu 15.04 /etc/init.d/ 下的我的 rc.local 文件中,无论我把它放在哪里,开始或结束,或者在它前面有 exec,它都没有运行。基本上,我希望能够以大写字母作为转义符运行 gvim,我真的不想将它放入 .bashrc 中,因为每次我打开终端时它都会运行(不必要的),而且我希望能够在不先打开 bash 的情况下运行 gvim,并且仍然使用大写字母作为转义符。

此命令在命令行中运行良好。

整个 rc.local 看起来像这样:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          rc.local
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO


/usr/bin/setxkbmap -option caps:escape
PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

do_start() {
       if [ -x /etc/rc.local ]; then
               [ "$VERBOSE" != no ] && log_begin_msg 
"Running local boot scripts (/etc/rc.local)"
               /etc/rc.local
               ES=$?
               [ "$VERBOSE" != no ] && log_end_msg 
$ES
               return $ES
       fi
}

case "$1" in
   start)
       do_start
       ;;
   restart|reload|force-reload)
       echo "Error: argument '$1' not supported" >&2
       exit 3
       ;;
   stop)
       ;;
   *)
       echo "Usage: $0 start|stop" >&2
       exit 3
       ;;
esac

难道我做错了什么?为了获得相同的结果,还有什么要做的吗?我没有运行 Unity,所以 compizconfig 不会工作。

startup
  • 1 个回答
  • 747 Views

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