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
    • 最新
    • 标签
主页 / unix / 问题

问题[memory](unix)

Martin Hope
pglpm
Asked: 2025-04-13 20:39:56 +0800 CST

如何停止正在运行的 memtester(无需重新启动)?

  • 5

一个极其“菜鸟”的问题:sudo memtester ...我在一台 Ubuntu 22.04 机器上运行着一个程序,但我给它分配了太多内存进行测试,导致它耗时太长(我看到它正在运行和更新,我确保分配给测试的内存小于空闲内存)。我想停止它。我本来想用一个简单的 试试Ctrl-c,但我想知道这是否会导致某种死机,迫使我重启。

不幸的是,手册页没有提到如何停止它。

memory
  • 2 个回答
  • 30 Views
Martin Hope
JGL
Asked: 2024-09-12 17:56:11 +0800 CST

理解 `/proc/vmstat` 中的 `pgpgin` 作为 I/O 计数器:与 I/O 带宽测量的关系

  • 6

嗨,内核 I/O 专家,

pgpgin我有一个关于和pgpgout计数器的问题/proc/vmstat,特别是pgpgin。我一直在探索性能监控工具,例如vmstat和,它们是用于观察 I/O 性能的非常实用的命令行工具。在检查它们的代码时,我注意到这些工具使用和iotop计数器报告“当前 I/O”,而不是像 和 等工具那样直接从块设备读取当前 I/O 统计信息。pgpginpgpgoutfio

第一个问题:我想了解和计数器与实际 I/O 带宽之间的确切关系pgpginpgpgout。为什么这些工具依赖与分页相关的计数器来表示 I/O 活动? pgpgin 和 pgpgout 究竟是如何更新的,哪些系统组件负责这些更新?简而言之,您能解释一下这些计数器何时以及为何反映磁盘 I/O 操作吗?

第二个问题(边缘情况):是否存在pgpgin带宽与实际磁盘带宽不准确对应的特定场景或边缘情况?

fio在使用轮询对 SSD 读取性能进行基准测试时io_uring,我发现 (和 SSD 统计数据)报告的 I/O 带宽fio明显低于 指示的带宽pgpgin。这种差异促使我调查如何pgpgin反映 I/O 活动(因此是上面的第一个问题)。

我已经确认这种不匹配是一致的,而不是由于瞬态系统噪声造成的。

任何有关这些计数器、其更新机制以及它们与实际 I/O 性能的关系的见解都将不胜感激。谢谢!

memory
  • 1 个回答
  • 60 Views
Martin Hope
builtin.ctz
Asked: 2024-08-30 23:31:16 +0800 CST

/proc/[pid]/statm 的“以页面为单位测量”的解释

  • 5

proc 文件系统的手册页说,/proc/[pid]/statm和其他文件系统的内存使用量是“以页面为单位”的。我不确定当使用多种页面大小时这是什么意思。

假设我的进程使用两个页面,一个 4KiB 页面和一个 2MiB 页面,并返回 4096 字节。在这种情况下sysconf(_SC_PAGE_SIZE)将返回以下哪个结果?proc/[pid]/statm

  1. 2,因为该进程使用一个 4KiB 页面和一个 2MiB 页面。
  2. 513,因为该过程使用了 2101248 字节,并且该大小除以“默认”页面大小(4096 字节)。
memory
  • 1 个回答
  • 10 Views
Martin Hope
tuskiomi
Asked: 2023-07-17 13:24:59 +0800 CST

如何限制 Linux 上的视频 RAM 使用?

  • 5

我的计算机上的某些进程正在使用过多的显卡内存来执行它们正在执行的任务。我想对这些任务施加限制,让操作系统限制这些任务对卡上 RAM 的使用。ulimit通常,如果目标是文件系统、CPU 或系统内存,我就可以使用。然而,该实用程序似乎没有任何有关 PC 内视频卡内存的功能。

那么这就是我的问题:假设我知道一个可执行文件的路径,我想对其施加显卡内存消耗的上限,那么如何施加这样的限制呢?本例中的卡是基于 NVidia 的。

memory
  • 1 个回答
  • 33 Views
Martin Hope
Vorac
Asked: 2023-01-08 18:47:26 +0800 CST

如何从脚本中获取平均负载和强制内存?

  • 5

uptime管道sed修复了第一部分,但内存使用情况如何?top至少在默认情况下以交互方式运行。

所以:我需要观察使用过的 RAM,不包括机会缓存(一旦需要内存就会被丢弃)。并询问两者,因为我希望一个标准工具可以做到这一点,而不是两个。或者 - 甚至更好 -/proc指示 RAM 部分的东西。

memory
  • 2 个回答
  • 27 Views
Martin Hope
Kevin eyeson
Asked: 2022-10-06 18:54:44 +0800 CST

线程堆栈是否来自Linux上进程的内存映射段?

  • 2

我目前正在学习Linux。我知道线程是 Linux 上的一种轻量级进程。但我想知道线程堆栈空间来自哪里。

线程的堆栈是私有的。它独立于进程堆栈。根据我的搜索,有人说线程堆栈是由mmap(). 而且,有人说mmap()空间不是heap。它位于堆栈和堆之间。所以线程栈来自进程的内存映射段。那是对的吗?

linux memory
  • 1 个回答
  • 20 Views
Martin Hope
bs-
Asked: 2022-10-04 03:36:02 +0800 CST

Firefox 崩溃 Linux Mint 20 (ulyan) 内存抖动

  • -1

Firefox 105.0.1 吃掉了我所有的内存(mate-system-monitor 报告 100%),经常使 Linux Mint 20 (ulyan) 崩溃,通常每周几次。

我的系统完全锁定,鼠标和键盘变得无响应,点击<ctrl>+<alt>+<F5>不起作用。

Mint 肯定有过错:操作系统必须与写得不好、耗尽内存的软件隔离开来。

Mint / Firefox 的早期版本没有遇到这个问题。

可以做什么?

更新:升级到 Linux Mint 20.3 并没有解决。

linux-mint memory
  • 2 个回答
  • 36 Views
Martin Hope
John Smith
Asked: 2022-07-01 02:50:13 +0800 CST

在基于 Linux 的系统上启动进程所需的最小内存量是多少?

  • 3

两种语言的例程都很便宜:goroutine 每个 2KB,而 Elixir 进程每个 0.5KB。

我知道在BEAM中启动一个进程需要 0.5KB 的内存。这在Elixir和 Erlang的情况下是如此轻量级,而在Go的情况下在较小程度上似乎是使用这些运行时的优势,与其他依赖于它们自己的不那么便宜的进程和线程或依赖的语言相比底层 OS的进程和线程(据说也需要更多内存)。

我想知道在基于 Linux 的系统上启动进程需要多少内存。我知道内存使用情况取决于进程在做什么。但我假设只是启动一个什么都不做的进程会产生内存成本)。那费用是多少?
我在哪里可以阅读更多关于它的信息?有没有我可以检查的文件/命令?

memory process
  • 1 个回答
  • 125 Views
Martin Hope
Vovin
Asked: 2022-05-19 05:18:17 +0800 CST

进程可以与其他进程共享未使用的内存吗?

  • 0

我想在我的实验中运行大约 200 个进程。他们每个人真的需要不到一个 GB:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
24688 rinkman   20   0 6082416 335536  15680 S 116.9  0.3  77:32.92 java
25314 rinkman   20   0 6614936 379040  15700 S 116.6  0.4  73:43.02 java
25780 rinkman   20   0 6082408 348140  15664 S 116.6  0.4  72:12.34 java
25994 rinkman   20   0 6082408 350592  15656 S 114.6  0.4  71:42.34 java
30472 rinkman   20   0 6749092 441492  15664 S 108.6  0.4  64:54.38 java
27052 rinkman   20   0 6548364 403040  15692 S 106.3  0.4  66:38.30 java
29314 rinkman   20   0 6022012 393656  15660 S 105.0  0.4  65:57.09 java
28173 rinkman   20   0 6681492 427816  15660 S 104.3  0.4  66:17.47 java

我可以访问 6 个节点,每个节点都有100 GB的 RAM。因此,如果他们只占用GB,则没有问题。但是,正如您在上面看到的,每个都需要超过6 GB。

当我查看以下输出时,我感到非常惊讶free -m:

              total        used        free      shared  buff/cache   available
Mem:          96481       15396         326          75       80758       80448
Swap:         16383        2336       14047

它显示仅使用了15.4 GB。这让我想到,进程可以共享未使用的内存吗?80.4 GB真的可用吗?不幸的是,我无法谷歌搜索有趣的信息。我只是偶然发现了有关多处理/线程与数据交换、通用缓存等的文章。拜托,你能帮我解释一下这个问题吗?

PS如果这是不可能的,有什么办法可以减少这些进程的分配内存(我只从200个运行了8个)?问题在于 bash 脚本仅为java提供了2 GB(这是其中的一部分):

java -Xms64m -Xmx2048m -Djava.library.path="$BEAST_LIB:/usr/local/lib:$LD_LIBRARY_PATH" -cp "$BEAST_LIB/beast.jar:$BEAST_LIB/beast-beagle.jar" dr.app.beast.BeastMain $*

所以我无法理解为什么它总是需要多4-5 GB。我对其他 Java 程序也有同样的现象,例如BEAST 2或treeannotator。

memory process
  • 1 个回答
  • 42 Views
Martin Hope
Franc
Asked: 2022-04-22 01:12:07 +0800 CST

vmalloc() 是否分配的内存字节实际上是从不同物理页面到内存区域的连续映射?

  • 0

vmalloc(size)分配一个size实际上是连续的 long 内存,但物理映射不会是连续的。这是否意味着虚拟分配的size长内存实际上位于物理内存的不同页框中?

linux-kernel memory
  • 1 个回答
  • 38 Views

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve