标签: memory

如何使用 Linux 命令获取使用的内存(RAM 使用)?

我正在尝试使用 Linux 命令按百分比检索已用内存(RAM)。我的 cpanel 显示了我需要在特定网页上显示的已用内存。

从论坛中,我发现可以从以下内容中找到正确的内存:

free -m
Run Code Online (Sandbox Code Playgroud)

结果:

-/+ buffers/cache:        492       1555
Run Code Online (Sandbox Code Playgroud)

-/+ 缓冲区/缓存:包含正确的内存使用情况。我不知道如何解析这个信息,或者是否有任何不同的命令来获取按百分比使用的内存。

memory centos cpanel

35
推荐指数
3
解决办法
10万
查看次数

使 Linux 读交换回内存

当我运行使用大部分 16GB 物理内存的应用程序时,Linux 内核会从内存中换出大部分页面。应用程序完成后,每个操作(键入命令、切换工作区、打开新网页等)都需要很长时间才能完成,因为首先需要从交换中读回相关页面。

有没有办法告诉 Linux 内核将页面从交换区复制回物理内存,而无需手动接触(和等待)每个应用程序?我运行了很多应用程序,所以等待总是很痛苦。

我经常swapoff -a && swapon -a用来使系统再次响应,但这会从交换中清除页面,因此下次运行脚本时需要再次写入它们。

是否有内核接口(可能使用 sysfs)来指示内核从交换中读取所有页面?

编辑:我确实在寻找一种方法来使所有交换交换缓存。(感谢德罗伯特!)

[PS serverfault.com/questions/153946/...serverfault.com/questions/100448/...是相关主题,但没有解决如何让Linux内核在不清除swap的情况下将页面从swap复制回内存的问题。]

linux kernel memory swap sysfs

33
推荐指数
4
解决办法
5320
查看次数

如何根据 MemTest86+ 错误指示将正确的坏 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,而且错误似乎是单一的,所以我希望我可以覆盖它。

linux kernel memory ram

32
推荐指数
3
解决办法
3万
查看次数

如何减少 ClamAV 内存使用量?

我在 512MB VPS 上运行基于 Ubuntu 的 Web 服务器(Apache、MySQL)。这对于它正在运行的网站(小型论坛)来说已经足够了。

因为我想添加一些病毒防护,所以我安装了 ClamAV 并使用它来扫描上传的文件,作为上传处理脚本 (PHP) 的一部分。

我正在运行 clamav-daemon 服务,因此不必每次扫描文件时都加载定义。这种做法的一个缺点似乎是 clamav-daemon 服务使用的“巨大”内存量:> 200 MB。这已经导致服务被迫停止并且上传被拒绝。

我可以简单地将 VPS 的内存升级到 1024MB,但我想知道是否有办法通过例如不加载不需要的定义来减少 ClamAV 的内存使用。

linux ubuntu memory

32
推荐指数
1
解决办法
6万
查看次数

Linux 支持的最大 RAM 是多少?

Linux 可支持的最大 RAM 是多少?假设硬件是/支持 64 位。在所有 Linux 发行版中。

它是高达 16 艾字节,还是像 Windows 一样有限,我认为它是 192 GB?

linux memory

32
推荐指数
1
解决办法
5万
查看次数

为什么物理地址对齐 4KiB 时,虚拟地址却不是 4KiB 对齐?

简而言之,我在内核中有一个物理地址0x250000000(9,932,111,872 或),它显然与 4KiB(页面大小)对齐。当我使用内核__va()函数获取内核虚拟地址时,我得到类似0xf570660f(每次启动时不同)的信息,该地址未与 4KiB 对齐

我使用的是 64 位系统,因此没有 HIGHMEM,并且我认为由于线性内存模型,4KiB 对齐的物理地址的虚拟地址也应该是 4KiB 对齐的。我错过了什么?虚拟地址不应该是吗phys_addr + PAGE_OFFSET?或者是sparsemem的影响?但也许它也应该是 4KiB 对齐的?

以下是更多详细信息:

我的工作环境是在 x86 64 位 QEMU VM 上。我正在尝试在模式下使用 PMEMDEV-DAX作为普通内存。我可以得到它的物理起始地址(0x250000000),已经确认是正确的。然后我需要将它转移到内核空间中的虚拟地址,以便我可以根据需要使用它。这是一些代码:

static long nvpc_map_whole_dev(struct dax_device *dax_dev, void **kaddr, pfn_t *pfn)
{
    // get the device
    struct dev_dax_nvpc *dax_nvpc = (struct dev_dax_nvpc *)dax_get_private(dax_dev);
    
    // get the virtual address and the pfn_t
    *kaddr = __va(dax_nvpc->phys_start);
    *pfn = phys_to_pfn_t(dax_nvpc->phys_start, PFN_MAP); …
Run Code Online (Sandbox Code Playgroud)

kernel memory

31
推荐指数
1
解决办法
4677
查看次数

如何在linux上的内存中放置/存储文件?

我在某处读到有人可以将 linux 系统上的文件放入内存中,并且加载它会非常快。

我该怎么做呢?如何验证文件是从内存加载的?

linux memory files

29
推荐指数
1
解决办法
3万
查看次数

是否可以在强制交换时触发 OOM 杀手?

是否可以让系统抢先换出非活动页面 ( vm.swappiness),但在系统耗尽 RAM(而不是耗尽内存)并被迫交换时调用 oom-killer?

最终目标是防止系统在由于主要页面错误而开始抖动磁盘时停止运行,但仍然让不活动的页面被换出。

另一个愿望是配置系统在 oom-killer 触发之前强制使用多少交换内存。这样系统就可以稍微进行交换,只要它不会走得太远。或者我可以在使用所有 RAM 之前设置这样一个阈值来触发 oom-killer,这样文件系统缓存总是有空间(从而避免更多的磁盘抖动)。

这似乎并不难做到。似乎您可以告诉 oom-killer 在系统使用/空闲 X ram 时触发。但这就是我问的原因;我不知道。

为了澄清起见,我不打算关闭交换或调整vm.swappiness参数

linux performance memory swap

28
推荐指数
2
解决办法
8152
查看次数

缓存内存和已用内存有什么区别?

在 Linux Mint 17.3 Cinnamon 的系统监视器面板小程序中,它显示了已用内存和缓存内存组合的内存使用情况,而在系统监视器应用程序中,它只显示已用内存,因此系统监视器往往会向我显示更高的内存使用情况. 究竟什么是缓存内存,如果它使用了大量内存,是否需要担心?

memory

28
推荐指数
1
解决办法
7万
查看次数

getrusage 系统调用:什么是“最大驻留集大小”

man getrusage 2

ru_maxrss (since Linux 2.6.32)
              This is the maximum resident set size used (in kilobytes). For RUSAGE_CHILDREN, this is the resident set size of the largest
              child, not the maximum resident set size of the process tree.
Run Code Online (Sandbox Code Playgroud)

那么这个数字究竟是什么意思呢?

kernel memory system-calls

27
推荐指数
1
解决办法
2万
查看次数

标签 统计

memory ×10

linux ×6

kernel ×4

swap ×2

centos ×1

cpanel ×1

files ×1

performance ×1

ram ×1

sysfs ×1

system-calls ×1

ubuntu ×1