标签: free-command

Linux free显示高内存使用率但top不显示

在RedHat Linux 6.2上,我正在运行free -m,它显示几乎所有8GB使用的

             total       used       free     shared    buffers     cached
Mem:          7989       7734        254          0         28       7128
-/+ buffers/cache:        578       7411
Swap:         4150          0       4150
Run Code Online (Sandbox Code Playgroud)

但同时在top -M我看不到使用所有这些内存的任何进程:

top - 16:03:34 up  4:10,  2 users,  load average: 0.08, 0.04, 0.01
Tasks: 169 total,   1 running, 163 sleeping,   5 stopped,   0 zombie
Cpu(s):  0.7%us,  0.3%sy,  0.0%ni, 98.6%id,  0.4%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  7989.539M total, 7721.570M used,  267.969M free,   28.633M buffers
Swap: 4150.992M total,    0.000k used, 4150.992M …
Run Code Online (Sandbox Code Playgroud)

linux redhat memory-management process free-command

59
推荐指数
2
解决办法
7万
查看次数

在FreeBSD v8.1上,Linux的'free'命令相当于什么

什么相当于FreeBSD v8.1上的Linux'免费'命令?

我从我的应用程序中调用"免费"并在我的应用程序的日志文件中报告结果.移植到FreeBSD v8.1时会有什么替代品?

以下是Linux上的"免费"示例:

[centos4x32 ~] free
             total       used       free     shared    buffers     cached
Mem:        774452     733044      41408          0      98040     328880
-/+ buffers/cache:     306124     468328
Swap:      2031608        224    2031384
Run Code Online (Sandbox Code Playgroud)

linux memory porting freebsd free-command

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

从免费命令中理解"缓冲区"和"缓存"

之前已经问过这个问题,但是不想再次更新同一个线程,因为它是一个旧线程.

想要从free命令输出中的"缓冲区"和"缓存"列中澄清自己.

这就是我的理解......

缓冲区是数据存储在内存中但尚未刷新到磁盘的东西.数据将由bdflush守护进程定期刷新到磁盘,或者我们可以通过运行sync命令手动执行.

另一方面,缓存是程序/数据,它被加载到内存中但保留在内存中,因此如果再次需要,它将很快可用.

为了理解缓冲区的概念,我尝试了以下实验......

这是free我桌面上的命令读取

[zama@localhost ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          2897        465       2431          0         30        230
-/+ buffers/cache:        204       2692
Swap:         4000          0       4000

[zama@localhost ~]$ sync

[zama@localhost ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          2897        466       2431          0         30        230
-/+ buffers/cache:        205       2691
Swap:         4000          0       4000

执行sync命令后,我无法看到缓冲区减少.

接下来我尝试了以下内容...试图将一个巨大的文件写入磁盘.

[zama@localhost ~]$ dd if=/dev/zero of=test bs=1024k 

正如预期的那样,缓存的值应该增加并且free正在确认这一点.

@localhost …

memory linux-kernel free-command

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

免费命令中有什么可用的v/s可用内存?

我在linux主机上发出的free命令的输出如下:

free
              total        used        free      shared  buff/cache   available
Mem:      263846320    47746620     3290072     1140808   212809628   214382420
Swap:             0           0           0
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚这个可用部分指定的内容.尽管总内存很高并且使用的内存仅为18.09%,但可用内存的显示非常少,即大约1.24%.

free -h
              total        used        free      shared  buff/cache   available
Mem:           251G         45G        3.1G        1.1G        202G        204G
Swap:            0B          0B          0B
Run Code Online (Sandbox Code Playgroud)

这是否意味着我无法启动更多应用程序,因为可用内存非常少.使用的内存仅为18%.所以不应该释放82%而不是1.24%,因为命令显示在上面.

我很迷惑.有人可以帮忙吗?

unix linux memory heap-memory free-command

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

Linux"free -m":总计,已用和可用内存值不相加

在linux系统上,使用"free"时,以下是值:

         total      used      free    shared  buff/cache   available
Mem:  26755612    873224    389320    286944    25493068    25311948
Swap:        0         0         0
Run Code Online (Sandbox Code Playgroud)

总计,使用和免费值不相加.我期待总数=使用+免费.

问题: 我在这里错过了什么?

linux memory free-command

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

如何在linux中协调"top"和"free -m"的内存使用情况报告?

free -m我可以看到机器上有377MB的内存和1649MB的空闲(其中1567是由ubuntu缓存的).请参阅下面的实际输出:

caz@riskvm:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2026       1975         51          0         30       1567
-/+ buffers/cache:        377       1649
Swap:         3153         87       3065
Run Code Online (Sandbox Code Playgroud)

但是当我查看top的输出时,我可以在RES列中看到使用1GB和273MB的进程.RES表示驻留在顶部手册页中的非交换物理内存中.

top - 11:45:26 up 1 day, 38 min,  3 users,  load average: 0.27, 0.21, 0.23
Tasks: 125 total,   1 running, 123 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.2%us,  6.6%sy,  0.0%ni, 92.8%id,  0.5%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2075560k total,  2023796k used,    51764k free,    31264k buffers
Swap:  3229024k total,    89764k used, …
Run Code Online (Sandbox Code Playgroud)

linux memory process free-command

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

如何使用awk从free中提取剩余的内存?

我需要从输出中提取可用内存free,我想我会使用awk并想出类似的东西free | awk '{print $4}'.这给了我一个输出:

$ free | awk '{print $4}'
shared
365296
1273812
3931364
Run Code Online (Sandbox Code Playgroud)

请注意,共享的标题不是这些数字的标题,数字来自免费(/usr/bin/free在第一列中没有标题,因此免费的数字出现在第4列,其中标题报告来自第5列).但是,有这个,我怎么才返回第二行?我现在对其余的不感兴趣.

memory bash awk free-command

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

当我运行一个继续分配内存的进程时,为什么Linux Free命令没有显示较少的可用内存

我编写了一个C程序,在其中我使用malloc连续分配内存(1 MB大小).我不释放这段记忆.当这个程序运行时,我调用linux free命令,并期望使用的内存应该逐渐增加,内存空闲应该减少.但这并不期望.Free命令输出几乎保持不变.知道为什么使用malloc分配的内存没有显示在使用的内存中?

linux memory malloc free-command

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

了解linux`free -m`中的缓冲区/缓存

只是寻找关于free -mLinux输出的一些快速帮助.这是我的一台服务器上的示例:

  $free -m
               total       used       free     shared    buffers     cached
  Mem:         14881      14813         68          0        262        883
  -/+ buffers/cache:      13667       1213
  Swap:         4095        240       3855
Run Code Online (Sandbox Code Playgroud)

我知道内核可以并将使用可用内存进行磁盘缓存来加速系统.

通常情况下,我会查看"免费"列中的第二个值,在上面的例子中它是1213.它通常比这要高很多.

我想我想了解' - /+ buffers/cache'旁边的两个输出是什么意思.从我所看到的,系统内存确实很低(只有1213MB可供应用程序使用),操作系统实际需要 13GB用于缓存?

linux memory caching free-command

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

Bash free命令停止工作

我想做以下事情:

获取输出free -mo,取第二行并每30秒将其记录到一个文件中.

我跑的时候

$free -mo -s 30 
Run Code Online (Sandbox Code Playgroud)

它每30秒运行并显示一次输出.

但是当我跑步的时候

$ free -mo -s 30 | head -2 | tail -1
Run Code Online (Sandbox Code Playgroud)

它只运行一次.我无法弄清楚出了什么问题.

free手册说free -s 30每隔30秒运行一次命令.

linux bash tail free-command

0
推荐指数
1
解决办法
286
查看次数

Linux自由命令含义

我需要对 Linux 进行一些研究。其中一个问题如下:

'在正在运行的系统上,空闲列中的命令 free 的输出是否可能与前 2 行相同?你怎么能强迫这个?

我查了一下,我相信我已经找到了这些值的含义。如果我将缓冲区和缓存添加在一起,并将其添加到 free 中,它就会为我提供缓冲区和缓存的 free 值。这意味着,如果需要的话,应用程序可以使用的内存。

因此,我认为这两行的值可能相同,这取决于使用情况。但是,我不知道我怎么能

linux free-command

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