swap分区占用情况脚本

#在网上搜了个swap分区占用情况的脚本,用了感觉蛮好,特别留下来了,注释并优化之echo ‘----------------------# ‘`date "+%Y%m%d %H%M"`‘ #----------------------------‘
for i in `ls -d /proc/* | grep -E ‘/[0-9]+$‘` #显示所有proc下的文件,并匹配该目录下所有以数字开头和结尾的文件
do
        pid=${i##/proc/}   #匹配i变量的值,并删掉/proc/  ##是以最长匹配模式删除
        if [ -f $i/cmdline -a -f $i/smaps ];then #如果存在那两个文件,-a表示两个表达式的并列
                cmd=$(cat $i/cmdline)
                if [ "$cmd" == "" ];then
                        cmd="NULL"
                fi
                swap=$(cat $i/smaps | grep ‘Swap‘ | awk ‘{gsub(/[^0-9]/,"",$1);S+=$2;}END{print S;}‘)  #gsub将一个域内不属于数字,全部用删除,第二个域相加(注意,域1的内容虽然被清空了,但域1,仍然存在,于是就成了"" 21 kb,数字那行仍属域2)
                if [ "$swap" == "" ];then
                        continue
                fi
                echo "$cmd [$pid] => `echo $swap | awk ‘{print $1" KB",$1/1024" MB";}‘`" #格式化输出占用swap分区的进程
        fi
done

  

时间: 2024-11-05 05:42:17

swap分区占用情况脚本的相关文章

Centos-查看磁盘分区占用情况-df

df 检查linux系统中磁盘分区占用情况 相关选项 -h 以人类友好读方式显示 -k 以KB为单位输出磁盘分区使用情况 -m   以MB为单位输出磁盘分区使用情况 -a 列出所有文件系统分区情况,包含0大小文件系统分区 -i 列出各分区inode使用情况 -T 显示各分区文件系统类型 磁盘空间满,inode使用完或block空间使用完 原文地址:https://www.cnblogs.com/2bjiujiu/p/9050354.html

Windows下查看局域网内端口占用情况脚本

将下列代码复制到记事本中 ,然后更改后缀为 bat 即可点击运行 查看所有端口占用情况 COLOR 0A CLS @ECHO Off Title 查询局域网内在线电脑IP :send @ECHO off&setlocal enabledelayedexpansion ECHO 正在获取本机的IP地址,请稍等... for /f "tokens=3 skip=2 delims=: " %%i in ('nbtstat -n') do ( set "IP=%%i"

linux 查看磁盘占用情况

查看"/usr/local/"路径下,所有文件大小总和.只列出总和,不显示该路径下各子文件的大小. du -sh /usr/local/ 结果显示如下图: 如果要详细显示出各子文件的大小情况,去掉"s"选项即可,如下: du -h /usr/local/ 查看各分区占用情况 df -h 结果显示如下图:

linux swap 分区那点事儿

前言 前段时间在用程序对较大数据进行处理时,发现自己电脑原有内存不够用而经常行卡死,于是想到了利用swap分区来扩容内存的方式.现在做一个简要的总结: swap分区的概念 初试swap分区是在进入实验室安装linux系统的时候,当时并不了解该分区,只是参看师哥们的笔记进行设置.但是swap分区到底是干嘛用的? windows里面没有该分区么?有设置的必要性么? 一般来讲,swap分区可以提高linux系统性能swap分区是在硬盘空间中开辟一块区域,用来存放内存溢出来的数据.比如将内存想象成一个杯

为linux扩展swap分区

1.查看当前swap分区使用情况 [[email protected] ~]# swapon -s Filename Type Size Used Priority /dev/sda2                               partition 10485752 111296 -1 2.创建一个file,用来扩展swap分区 [[email protected] ~]# dd < /dev/zero >/opt/swapfile1 bs=1M count=200 200+0

查看服务器swap占用情况

最近查看内存使用情况的时候发现swap消耗比较大,但是没有命令能够直接查看某个进程占用swap的大小.只能看总的swap还有多少. 其实在 proc下以进程号命令的文件夹中是有swap的使用量的,只需要将所有的以Swap开头的大小相加就可以得到总的大小. 如下是一个进程swap占用的一项: 可以写个简单的脚本实现统计功能: #!/bin/bash ###########################################################################

shell分析swap分区被哪些程序占用(stress模拟环境)

1.查看版本cat /etc/debian_version 7.8 2.看下内存(我这边是256MB内存 swap分了4G)free -m             total       used       free     shared    buffers     cachedMem:           231        124        106          0          8         79-/+ buffers/cache:         36      

linux下怎样释放内存、swap分区满的情况

在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好.但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了. Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换).Buffer Cache(针对磁盘块的读写)和Page Cache(针对文件inode的读写)进行缓存操作.但是在进行了大量文件操作之后,缓存会把内存资源基本用光.但实际上我们文件操作已经完

扫描端口占用情况的python脚本

之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况.由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结. 一.python脚本实现扫描端口: pthon2下代码如下(当时的环境): #!/usr/bin/env python # -*- coding:utf-8 -*- # used for pthon2.*    import socket, time, thread socket.setdefaulttimeout(3) #设