导语:

获取linux系统内存的方法有很多种方法,这里总结如下


版本1

[root@master test]# cat freemem.py 

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python
memfile 
= 
open
(
'/proc/meminfo'
)
while 
True
:
    
mem 
= 
memfile.readline()
    
if 
'MemTotal' 
in 
mem:
        
print 
'%s' 
% 
mem,
    
if 
'MemFree' 
in 
mem:
        
print 
'%s' 
% 
mem,
        
break
memfile.close()


版本2

[root@master test]# cat freemem.py 

1
2
3
4
5
6
7
8
#!/usr/bin/env python
memfile 
= 
open
(
'/proc/meminfo'
)
= 
0
while 
i<
2
:
    
i
+
=
1
    
mem 
= 
memfile.readline()
    
print 
"%s" 
% 
mem,
memfile.close()


版本3    

[root@master test]# cat freemem.py

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python
#coding=utf8
memfile 
= 
open
(
'/proc/meminfo'
)
= 
0
while 
i<
2
:
    
mem 
= 
memfile.readline()
    
memnum 
= 
mem.split()[
1
]
    
if 
=
= 
0
:
        
print 
"内存总量为:%s" 
% 
memnum
    
else
:
        
print 
"剩余内存为:%s" 
% 
memnum
    
i
+
=
1
memfile.close()


版本4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/env python
with 
open
(
'/proc/meminfo'
) as fd:
    
for 
line 
in 
fd:
        
if 
line.startswith(
'MemTotal'
):
            
total 
= 
line.split()[
1
]
            
continue
        
if 
line.startswith(
'MemFree'
):
            
free 
= 
line.split()[
1
]
            
break
FreeMem 
= 
int
(free)
/
1024.0
TotalMem 
= 
int
(total)
/
1024.0
print 
"FreeMem:"
+
"%.2f" 
% 
FreeMem
+
'M'
print 
"TotalMem:"
+
"%.2f" 
% 
TotalMem
+
'M'
print 
"FreeMem/TotalMem:"
+
"%.2f" 
% 
((FreeMem
/
TotalMem)
*
100
)
+
'%'