- #!/usr/bin/env python
- import
re,os
- #Swap:
0 kB - def
check_swap(pid):
-
try:
-
f_name='/proc/'+pid+'/smaps'
-
f = open(f_name)
-
lines=f.readlines()
-
f.close()
-
size = 0
-
pattern=r'Swap:\s+(\d+)\s+KB'
-
for line in lines:
-
if re.compile(pattern).findall(line):
-
size += int(re.compile(pattern).findall(line)[0])
-
return pid,size
-
except:
-
#print "Erro"
-
pass
- def
get_name(pid):
-
try:
-
f_name='/proc/'+pid+'/status'
-
f = open(f_name)
-
line=f.readline()
-
f.close()
-
name = line.split(':')[-1].split()[0]
-
return name
-
except:
-
pass
- if
__name__=='__main__':
-
print 'PID\tSWAP-SIZE\tNAME'
-
print os.getpid()
-
print '----------------'
-
for pid in os.listdir('/proc'):
-
if pid.isdigit():
-
info = check_swap(pid)
-
if info :#and info[-1]:
-
print "%s\t%s\t%s" % (info[0],info[1],get_name(pid))
查看SWAP分区内存占用情况PY程序
最新推荐文章于 2024-04-08 18:13:30 发布