Linux内存使用:当交换未被使用时,我们能考虑内存满吗?

Linux内存使用:当交换未被使用时,我们能考虑内存满吗?,linux,performance,memory,Linux,Performance,Memory,部署应用程序后,我正在检查可用的可用内存。我正在使用下面的命令,发现可用内存不足20%: free | grep Mem | awk '{print "Free Memory :"100*($4+$6+$7)/$2"%"}' 但当我检查top命令时,我发现根本没有使用交换内存。上面的命令也不包括交换内存空间。现在我脑子里有几个问题 快照1: top - 10:01:07 up 305 days, 11:23, 1 user, load average: 0.35, 0.22, 0.12

部署应用程序后,我正在检查可用的可用内存。我正在使用下面的命令,发现可用内存不足20%:

free | grep Mem | awk '{print "Free Memory :"100*($4+$6+$7)/$2"%"}'
但当我检查top命令时,我发现根本没有使用交换内存。上面的命令也不包括交换内存空间。现在我脑子里有几个问题

快照1:

 top - 10:01:07 up 305 days, 11:23,  1 user,  load average: 0.35, 0.22, 0.12
Tasks: 244 total,   1 running, 242 sleeping,   0 stopped,   1 zombie
Cpu(s): 13.4%us, 14.5%sy,  0.0%ni, 69.3%id,  0.8%wa,  0.4%hi,  1.6%si,  0.0%st
Mem:     15952M total,    15817M used,      135M free,      531M buffers
Swap:    16378M total,        0M used,    16378M free,     2567M cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
19983 user1       20   0 3410m 2.9g 4420 S   23 18.9  56733:33 x1             
28390 user2      20   0  621m 216m 1300 S   12  1.4  40201:39 p2               
24781 user1       20   0 1393m 868m 1760 S    9  5.4  27795:12 p3          
13936 user1       20   0  740m 432m 2692 S    6  2.7  15726:39 p4          
30545 user1       20   0  391m  77m 2232 S    6  0.5   2805:05 p5        
 5696 user1       20   0  914m 680m 2180 S    4  4.3   2209:03 p6                
28801 user2      20   0  282m 148m 1432 S    4  0.9  12408:20 p7                
29559 user2      20   0  504m 357m 2028 S    3  2.2   9152:52 p8                
29129 user2      20   0  245m 172m 2004 S    2  1.1   6935:50 p9                
29130 user2      20   0  245m 172m 1996 S    2  1.1   6879:25 p9                
29131 user2      20   0  245m 172m 1996 S    2  1.1   6913:15 p9                
29135 user2      20   0  245m 172m 1996 S    2  1.1   6897:49 p9                
29140 user2      20   0  245m 172m 1996 S    2  1.1   6886:52 p9   
top - 10:06:18 up 312 days, 11:29,  1 user,  load average: 0.26, 0.42, 0.31
Tasks: 240 total,   1 running, 238 sleeping,   0 stopped,   1 zombie
Cpu(s): 13.1%us, 11.8%sy,  0.0%ni, 71.8%id,  1.7%wa,  0.5%hi,  1.1%si,  0.0%st
Mem:     15952M total,    15832M used,      119M free,      480M buffers
Swap:    16378M total,        0M used,    16378M free,     2622M cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
19983 user1       20   0 3410m 2.9g 5292 S   18 18.9  58711:30 x1             
28390 user2      20   0  621m 216m 1300 S   12  1.4  41451:12 p2               
24781 user1       20   0 1393m 868m 1760 S    8  5.4  28615:15 p3          
13936 user1       20   0  740m 432m 2692 S    6  2.7  16247:35 p4          
12453 user1       20   0  387m  74m 3056 S    5  0.5 178:45.72 p5        
28801 user2      20   0  282m 148m 1448 S    4  0.9  12794:23 p6                
13252 user1       20   0  850m 665m 2556 S    4  4.2 138:43.83 p7                
29559 user2      20   0  504m 357m 1992 S    3  2.2   9450:05 p8                
29154 user2      20   0  245m 172m 1972 S    3  1.1   7127:40 p9                
29130 user2      20   0  245m 172m 1972 S    2  1.1   7104:03 p9                
29140 user2      20   0  245m 172m 1972 S    2  1.1   7111:48 p9                
29171 user2      20   0  244m 172m 1972 S    2  1.1   7137:48 p9                
29129 user2      20   0  245m 172m 1980 S    2  1.1   7162:12 p9  
>free 
             total       used       free     shared    buffers     cached
Mem:       8183648    7148324    1035324          0     150568    2352956
-/+ buffers/cache:    4644800    3538848
Swap:     17149376      24588   17124788
快照2:

 top - 10:01:07 up 305 days, 11:23,  1 user,  load average: 0.35, 0.22, 0.12
Tasks: 244 total,   1 running, 242 sleeping,   0 stopped,   1 zombie
Cpu(s): 13.4%us, 14.5%sy,  0.0%ni, 69.3%id,  0.8%wa,  0.4%hi,  1.6%si,  0.0%st
Mem:     15952M total,    15817M used,      135M free,      531M buffers
Swap:    16378M total,        0M used,    16378M free,     2567M cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
19983 user1       20   0 3410m 2.9g 4420 S   23 18.9  56733:33 x1             
28390 user2      20   0  621m 216m 1300 S   12  1.4  40201:39 p2               
24781 user1       20   0 1393m 868m 1760 S    9  5.4  27795:12 p3          
13936 user1       20   0  740m 432m 2692 S    6  2.7  15726:39 p4          
30545 user1       20   0  391m  77m 2232 S    6  0.5   2805:05 p5        
 5696 user1       20   0  914m 680m 2180 S    4  4.3   2209:03 p6                
28801 user2      20   0  282m 148m 1432 S    4  0.9  12408:20 p7                
29559 user2      20   0  504m 357m 2028 S    3  2.2   9152:52 p8                
29129 user2      20   0  245m 172m 2004 S    2  1.1   6935:50 p9                
29130 user2      20   0  245m 172m 1996 S    2  1.1   6879:25 p9                
29131 user2      20   0  245m 172m 1996 S    2  1.1   6913:15 p9                
29135 user2      20   0  245m 172m 1996 S    2  1.1   6897:49 p9                
29140 user2      20   0  245m 172m 1996 S    2  1.1   6886:52 p9   
top - 10:06:18 up 312 days, 11:29,  1 user,  load average: 0.26, 0.42, 0.31
Tasks: 240 total,   1 running, 238 sleeping,   0 stopped,   1 zombie
Cpu(s): 13.1%us, 11.8%sy,  0.0%ni, 71.8%id,  1.7%wa,  0.5%hi,  1.1%si,  0.0%st
Mem:     15952M total,    15832M used,      119M free,      480M buffers
Swap:    16378M total,        0M used,    16378M free,     2622M cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
19983 user1       20   0 3410m 2.9g 5292 S   18 18.9  58711:30 x1             
28390 user2      20   0  621m 216m 1300 S   12  1.4  41451:12 p2               
24781 user1       20   0 1393m 868m 1760 S    8  5.4  28615:15 p3          
13936 user1       20   0  740m 432m 2692 S    6  2.7  16247:35 p4          
12453 user1       20   0  387m  74m 3056 S    5  0.5 178:45.72 p5        
28801 user2      20   0  282m 148m 1448 S    4  0.9  12794:23 p6                
13252 user1       20   0  850m 665m 2556 S    4  4.2 138:43.83 p7                
29559 user2      20   0  504m 357m 1992 S    3  2.2   9450:05 p8                
29154 user2      20   0  245m 172m 1972 S    3  1.1   7127:40 p9                
29130 user2      20   0  245m 172m 1972 S    2  1.1   7104:03 p9                
29140 user2      20   0  245m 172m 1972 S    2  1.1   7111:48 p9                
29171 user2      20   0  244m 172m 1972 S    2  1.1   7137:48 p9                
29129 user2      20   0  245m 172m 1980 S    2  1.1   7162:12 p9  
>free 
             total       used       free     shared    buffers     cached
Mem:       8183648    7148324    1035324          0     150568    2352956
-/+ buffers/cache:    4644800    3538848
Swap:     17149376      24588   17124788
我是否使用正确的方法检查可用空间?(当内存使用率过高时,我需要发出警报)

2.从下面的2个快照中,我看到可用内存从“135M free”减少到“119M free”(请检查mem:row of top命令)。但我发现与进程(甚至其他进程)相关的内存没有改变,只是缓冲区和缓存减少了。正如我前面读到的,如果没有足够的内存用于进程,操作系统将释放这些内存。所以我真的应该担心这个变化吗?有没有办法澄清这一点

  • 我的系统总内存为15952M,总交换空间为16378M,那么总可用空间是多少?一旦开始使用交换内存,系统性能会下降吗
  • 请引导我

    可用内存输出示例:

     top - 10:01:07 up 305 days, 11:23,  1 user,  load average: 0.35, 0.22, 0.12
    Tasks: 244 total,   1 running, 242 sleeping,   0 stopped,   1 zombie
    Cpu(s): 13.4%us, 14.5%sy,  0.0%ni, 69.3%id,  0.8%wa,  0.4%hi,  1.6%si,  0.0%st
    Mem:     15952M total,    15817M used,      135M free,      531M buffers
    Swap:    16378M total,        0M used,    16378M free,     2567M cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
    19983 user1       20   0 3410m 2.9g 4420 S   23 18.9  56733:33 x1             
    28390 user2      20   0  621m 216m 1300 S   12  1.4  40201:39 p2               
    24781 user1       20   0 1393m 868m 1760 S    9  5.4  27795:12 p3          
    13936 user1       20   0  740m 432m 2692 S    6  2.7  15726:39 p4          
    30545 user1       20   0  391m  77m 2232 S    6  0.5   2805:05 p5        
     5696 user1       20   0  914m 680m 2180 S    4  4.3   2209:03 p6                
    28801 user2      20   0  282m 148m 1432 S    4  0.9  12408:20 p7                
    29559 user2      20   0  504m 357m 2028 S    3  2.2   9152:52 p8                
    29129 user2      20   0  245m 172m 2004 S    2  1.1   6935:50 p9                
    29130 user2      20   0  245m 172m 1996 S    2  1.1   6879:25 p9                
    29131 user2      20   0  245m 172m 1996 S    2  1.1   6913:15 p9                
    29135 user2      20   0  245m 172m 1996 S    2  1.1   6897:49 p9                
    29140 user2      20   0  245m 172m 1996 S    2  1.1   6886:52 p9   
    
    top - 10:06:18 up 312 days, 11:29,  1 user,  load average: 0.26, 0.42, 0.31
    Tasks: 240 total,   1 running, 238 sleeping,   0 stopped,   1 zombie
    Cpu(s): 13.1%us, 11.8%sy,  0.0%ni, 71.8%id,  1.7%wa,  0.5%hi,  1.1%si,  0.0%st
    Mem:     15952M total,    15832M used,      119M free,      480M buffers
    Swap:    16378M total,        0M used,    16378M free,     2622M cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
    19983 user1       20   0 3410m 2.9g 5292 S   18 18.9  58711:30 x1             
    28390 user2      20   0  621m 216m 1300 S   12  1.4  41451:12 p2               
    24781 user1       20   0 1393m 868m 1760 S    8  5.4  28615:15 p3          
    13936 user1       20   0  740m 432m 2692 S    6  2.7  16247:35 p4          
    12453 user1       20   0  387m  74m 3056 S    5  0.5 178:45.72 p5        
    28801 user2      20   0  282m 148m 1448 S    4  0.9  12794:23 p6                
    13252 user1       20   0  850m 665m 2556 S    4  4.2 138:43.83 p7                
    29559 user2      20   0  504m 357m 1992 S    3  2.2   9450:05 p8                
    29154 user2      20   0  245m 172m 1972 S    3  1.1   7127:40 p9                
    29130 user2      20   0  245m 172m 1972 S    2  1.1   7104:03 p9                
    29140 user2      20   0  245m 172m 1972 S    2  1.1   7111:48 p9                
    29171 user2      20   0  244m 172m 1972 S    2  1.1   7137:48 p9                
    29129 user2      20   0  245m 172m 1980 S    2  1.1   7162:12 p9  
    
    >free 
                 total       used       free     shared    buffers     cached
    Mem:       8183648    7148324    1035324          0     150568    2352956
    -/+ buffers/cache:    4644800    3538848
    Swap:     17149376      24588   17124788
    

    您不必担心缓冲区,它们用于磁盘缓存的缓存始终可供应用程序使用。读取:总可用内存为虚拟内存=RAM+交换。当然,与物理内存访问相比,分页/交换速度要慢得多。与其依赖所有这些内部细节,难道不应该有任何api来获取这些信息吗?像get availablemem()或freemem()之类的东西?您不必担心用于磁盘缓存的缓冲区和缓存始终可供应用程序使用。读取:总可用内存为虚拟内存=RAM+交换。当然,与物理内存访问相比,分页/交换速度要慢得多。与其依赖所有这些内部细节,难道不应该有任何api来获取这些信息吗?比如get availablemem()或freemem()之类的东西?