使用 32 位 x86 PAE Linux 内核时,即使系统有更多 GiB 的可用内存,单个应用程序也不能分配超过 2 GiB,这是真的吗?64 位 x86 Linux 内核是否放宽了此限制?
完全从 RAM 运行已在各种发行版上完成,例如Slax、DamnSmallLinux和较新的 Ubuntu 版本,并且由于我有 8GB,因此我可以完全从 RAM 运行许多发行版似乎是合理的(只要我选择一个有能力的发行版)。
我想用OpenELEC(或任何发行版)来做这件事,但更复杂的是:我是一名.NET开发人员,工作并且主要使用 Windows,这意味着 NTFS 和 FAT32 是我的首选文件系统。直到有一天 Windows 可以本地读取/写入 ext 分区,这不会改变。Ext2fck 甚至不会安装在 Windows 8 中,因此无法让我相信在日常操作中使用不可读格式的驱动器和分区的“优点”。
还有之类的东西syslinux,vmlinuz,extlinux等,它们可以加载.iso文件到RAM,有效引导加载它们。为了锦上添花,Windows 的引导加载程序将允许我将这些作为选项添加到本机 Windows 引导菜单中,我为 UBCD 5.11 所做的,甚至可以用于虚拟文件系统,例如.vhd,等。
我想将这三者合二为一。我想安装一个已安装的 ext2/ext3/ext4 分区,在这种情况下是安装 OpenELEC,将其压缩为 .iso,并在我的启动菜单中创建一个条目,该条目将直接执行此操作,或将其传递给 syslinux 或像那样将执行以下操作:
将 .iso 作为 ext2/3/4 分区完全提取到 RAM 中,并在 RAM 中启动到该操作系统。然后,我将使用 ntfs-3g 为 OpenELEC 安装的 /STORAGE 部分挂载我的 NTFS 硬盘驱动器。
然后,作为奖励,在退出时,我会让系统将自身重新压缩为 .iso,如果成功,则替换初始的 .iso,从而在启动时保留我的更改(前提是关闭成功)。它也不必从内存中复制自己:它可以将它想要跟踪的任何文件/更改(如果有些不可用)复制回它启动的驱动器(如果存在),然后将其压缩回 .iso .
在我的英特尔笔记本 BIOS 中,我可以更改分配给集成 GPU 的内存量(从 32MB 到 512MB,通过选择器“预分配内存”)。
我的问题是:
不改变Linux的专用视频内存量dinamically还是应该我将它固定在MAX(512MB),以获得最佳的图形性能?
我有 2 台计算机和一条跳线,它们之间只是直接连接,没有集线器/交换机/路由器等。我需要更多 RAM,而另一台计算机有大量可用 RAM,我如何通过以太网将其 RAM 用作交换?
两个系统都运行 Arch Linux。
今天我决定top在我的 Arch Linux 笔记本电脑上运行,迎接这个:
特别是,这让我感到困扰:
GiB Mem :225809113546752.0/7.791
这个数字不会随着实际内存消耗而改变。
有谁知道为什么会发生这种情况?
/!\ 当前状态:更新 4 /!\
某些 /proc/meminfo 值是某些其他值的总和或差值。但是,关于如何在这两个链接中计算它们的说法不多(只需按 ctrl-fmeminfo即可到达):
此外,我还到处挖掘,这是我迄今为止发现的:
MemFree: LowFree + HighFree
Active: Active(anon) + Active(file)
Inactive: Inactive(anon) + Inactive(file)
Run Code Online (Sandbox Code Playgroud)
我没有找到太多关于其他领域的信息,在我有的地方,结果不匹配,就像在这些 Stack Overflow 帖子中一样:
这两个值计算正确吗?还是由于某些外部手段而存在一些可变性?
此外,某些值显然无法在没有外部值的情况下进行计算,但我仍然对此感兴趣。
/proc/meminfo数值是如何计算的?
如果这有帮助,这里有一个例子/proc/meminfo:
MemTotal: 501400 kB
MemFree: 38072 kB
MemAvailable: 217652 kB
Buffers: 0 kB
Cached: 223508 kB
SwapCached: 11200 kB
Active: 179280 kB
Inactive: 181680 kB
Active(anon): 69032 kB
Inactive(anon): 70908 …Run Code Online (Sandbox Code Playgroud) 我正在使用 CentOS 7,我发现我的可用内存少于可用内存,但为什么呢?
root@localhost:~# free -h
total used free shared buff/cache available
Mem: 251G 1.9G 249G 9.2M 260M 248G
Swap: 64M 49M 14M
Run Code Online (Sandbox Code Playgroud)
也有同样的问题,但是答案并没有解释为什么available比free少,只是说说缓存。
Aug 4 15:11:09 LiquidNZXT kernel: [ 0.000000] *BAD*gran_size: 64K chunk_size: 32M num_reg: 10 lose cover RAM: -16M
Run Code Online (Sandbox Code Playgroud)
日志中的这一行是否意味着我的 RAM 扇区或芯片有问题?
我正在运行 openSUSE TW、32 GiB RAM、64 GiB 交换 (SSD)。
在 RAM 完全被缓存填满之前,交换空间的使用量为零。
我正在使用 htop 来监控它。黄色/橙色 = 缓存
我的系统将使用 2 GiB 的 RAM,但其余的(30 GiB)都是缓存,然后,不是在需要时丢弃一些缓存来为其他数据腾出空间 - 它开始使用交换,只有几个 MiB,但我我发誓我会注意到轻微的冻结,并且系统有时会明显变慢。
这是为什么?我能做什么?
我愿意提供任何要求的信息。
vm.swappiness = 1
vm.dirty_ratio = 20
vm.dirty_background_ratio = 10
Run Code Online (Sandbox Code Playgroud) 对于 Linux(Ubuntu、Debian 等),不同的桌面环境消耗不同数量的资源(RAM)。Gnome 和 KDE 往往比 XFCE / LXDE / LXQT 等其他操作系统消耗更多 RAM:
https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/
我想知道如果我不通过桌面环境的 GUI 登录,而仅使用 ssh 与操作系统交互,这些桌面环境的 RAM 使用情况是否仍然会产生影响?
例如,我有一个 Debian Gnome 和一个 Debian XFCE。打开两台机器后,我只使用SSH与它们交互。在这种情况下,它们使用相同数量的 RAM 吗?