在进行一些基准测试工作之前,如何释放 Linux 内核为其缓冲区和缓存消耗的内存 (RAM)?
请注意,这主要用于基准测试。清空缓冲区和缓存会降低性能!如果你在这里是因为你认为释放缓冲区和缓存是一件好事,那就去读一读Linux 吃了我的 RAM!. 简短的故事:空闲内存是未使用的内存是浪费的内存。
当我发现 Mac OS X 内核使用750MB的 RAM时,我震惊了这个问题。
我已经使用 Linux 20 年了,我一直“知道”内核 RAM 使用量与 X 相形见绌(这是真的吗?它曾经是真的吗?)。
所以,经过一些谷歌搜索后,我尝试slabtop告诉我:
Active / Total Size (% used)       : 68112.73K / 72009.73K (94.6%)
Run Code Online (Sandbox Code Playgroud)
这是否意味着我的内核现在正在使用 ~72MB 的 RAM?
(鉴于top报告Xorg的 RSS 为 17M,内核现在使 X 相形见绌,而不是相反)。
笔记本电脑的“正常”内核 RAM 使用量(范围)是多少?
为什么 MacOS 使用的 RAM 比 Linux 多一个数量级?
附注。这里没有回答最后一个问题,所以请参阅相关问题:
我想知道 Linux 管理共享库的方式。(实际上,我指的是 Maemo Fremantle,它是 2009 年发布的基于 Debian 的发行版,运行在 256MB RAM 上)。
假设我们有两个可执行文件链接到 libQtCore.so.4 并使用其符号(使用其类和函数)。为简单起见,我们称它们为a和b。我们假设两个可执行文件都链接到相同的库。
首先我们启动a. 必须加载库。它是整体加载还是仅在需要的部分加载到内存中(因为我们不使用每个类,只加载有关所用类的代码)?
然后我们启动b. 我们假设它a仍在运行。b也链接到 libQtCore.so.4 并使用一些使用的类a,但也使用a. 库是否会被双重加载(分别为a和单独为b)?或者他们会使用 RAM 中已有的相同对象。如果不b使用新符号并且a已经在运行,共享库使用的 RAM 会增加吗?(或者差异会微不足道)
假设我正在运行一个脚本(例如在 Python 中)。为了找出程序花费了多长时间,可以运行
time python script1.py
Run Code Online (Sandbox Code Playgroud)
是否有一个命令可以跟踪脚本运行时使用了多少 RAM?为了找到有多少 RAM 可用,可以使用free,但此命令不适合上述任务。
我在我的旧上网本上运行BOINC,它只有 2 GB 的板载 RAM,这不足以运行某些任务。就像在,他们拒绝,看看设备的 RAM 有多低。
我有启用了 backing_dev 和 zstd 算法的 zRAM,所以实际上,内存不足从来都不是问题,在特别困难的情况下,我总是可以使用systemd-run --scope -p(我已经成功地运行了需要 +16 GB RAM 的程序)
如何让 BOINC 认为我的笔记本电脑安装了超过 2 GB 的 RAM,以便我可以运行那些要求很高的任务?
MemTest86+(Ubuntu 13.04 附带的版本)说
Failing address: 002f796c48 -    759.5 MB
Run Code Online (Sandbox Code Playgroud)
我应该在memmap内核参数中指定什么来绕过这个区域?
我试过运行memtester 770MB,它说一切正常,所以看起来 MemTest 的指示从一开始就意味着第 759.5 MB 中的错误。
如何解释这个 MemTest 指示来配置memmap?
我现在没有钱购买新的 RAM,而且错误似乎是单一的,所以我希望我可以覆盖它。
我正在尝试确定(无需物理访问机器)它支持的 RAM 通道数量(单、双等) - 以及它是否配置为使用该设置,例如具有四个插槽和双通道 RAM,您只有将 RAM 插入正确的插槽才能获得双通道。
我知道如何确定我插入了多少个 RAM 模块,我不知道如何获得通道数。
我正在尝试转向/tmpRAM 并遵守良好做法:
/var/tmp不应放置在 中tmpfs,因为它必须在重新启动后存活
不是/tmp作为独立安装tmpfs,而是依赖/dev/shm或/run/shm
然而,事情在 2.6 和 3.2 内核之间发生了变化:
在 3.2 内核上,RAMTMP=yes在/etc/default/tmpfs.
我的问题是:如何使用旧内核实现这一目标?
我的选择不是修改 /etc/fstab 也不是:
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
Run Code Online (Sandbox Code Playgroud)
RAMTMP2.6 内核有类似的东西吗?
有没有办法知道 Linux 中 L1、L2、L3 缓存和 RAM 的大小?
在 Linux Mint 中,如何获得下图下半部分显示的相同信息?
Windows 中 CPU-Z 的输出:

我尝试过的:
在 Wine 中运行 CPU-Z 1.66 作为 Windows 95、98 和 XP。
CPU-G 
i-nex 
sudo lshw 
sudo dmidecode 
decode-dimms
ram ×10
linux ×4
kernel ×3
memory ×3
cache ×1
command ×1
executable ×1
hardware ×1
libraries ×1
linux-mint ×1
mount ×1
performance ×1
tmpfs ×1