首页 > 系统相关 >swap内存查看

swap内存查看

时间:2022-09-26 18:22:10浏览次数:48  
标签:查看 root SUM PID base swap tools 内存

【转载】https://blog.csdn.net/carefree2005/article/details/124726273

编写脚本找出swap占用top20进程

#!/bin/bash
#script name: swap_check.sh
#author: wuhs
#version: v1
#description: 这是一个检查哪些进程使用了SWAP分区的脚本
do_swap () {
  SUM=0
  OVERALL=0
  #获取进程目录
  for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
        #获取进程PID
    PID=`echo $DIR | cut -d / -f 3`
    #获取进程名称
    PROGNAME=`ps -p $PID -o comm --no-headers`
    #获取进程的所有分区中SWAP值
    for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
    do
          #进程swap值求和
      let SUM=$SUM+$SWAP
    done
    echo "PID=$PID - Swap used: $SUM - $PROGNAME"
    #总共swap分区值求和
    let OVERALL=$OVERALL+$SUM
    SUM=0 
  done
  echo "Overall swap used: $OVERALL"
 }
do_swap > tmp.txt
#查询结果排序并截取top10
cat tmp.txt |awk -F[\ \(] '{print $5,$1,$7}' | sort -n | tail -20
cat tmp.txt |tail -1
rm -rf tmp.txt

 

 

三、swap释放方法

1、查看swap使用情况

(base) [root@test tools]# free -h
total used free shared buff/cache available
Mem: 7.6G 360M 288M 148M 6.9G 6.7G
Swap: 1.0G 635M 388M

2、查看swap挂载

(base) [root@test tools]# swapon -s
文件名 类型 大小 已用 权限
/dev/sda2 partition 1048572 650292 -2

3、取消swap挂载

#取消swap挂载的时候会将swap内网逐步复制到内存中,swap占用越大需要的时间越长
(base) [root@test tools]# swapoff /dev/sda2

4、再次挂载swap
(base) [root@test tools]# swapon /dev/sda2

5、查看swap使用情况
(base) [root@test tools]# free -h
total used free shared buff/cache available
Mem: 7.6G 805M 139M 297M 6.6G 6.2G
Swap: 1.0G 0B 1.0G
————————————————
版权声明:本文为CSDN博主「恒悦sunsite」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/carefree2005/article/details/124726273

 

标签:查看,root,SUM,PID,base,swap,tools,内存
From: https://www.cnblogs.com/music-liang/p/16731926.html

相关文章

  • 一个查看堆内存泄露的工具
    valgrind1#include<stdlib.h>2#include<stdio.h>34voidf(void)5{6int*x=malloc(10*sizeof(int));7x[10]=0;8}9intmain(v......
  • 大页内存(Huge Pages)
    简单来说就是通过增大操作系统页的大小来减小页表,从而避免快表缺失。在介绍之前需要强调一点,大页内存也有适用范围,程序耗费内存很小或者程序的访存局部性很好,大页内存很难......
  • linux下如何查看某软件是否已安装
    因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:1、rpm包安装的,可以用rpm-qa看到,如果要查找某软件包是否安装,用r......
  • 延迟分配:提供内存利用率的三种机制
    为了提供内存利用率,有一些奇妙的机制,本节就来介绍下:写时复制,请求调页和mmap系统调用写时复制写时复制,可概括为写时复制是一种计算机编程领域中的优化技术(Copy-on-Write,......
  • Linux 网卡实时流量查看脚本
    Linux网卡实时流量查看脚本#!/bin/bashPATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin;exportPATHfunctiontraffic_monitor{OS_NAME=$......
  • C++ 自学笔记 new和delete(动态内存分配)
    动态内存分配DynamicmemoeyallocationC++使用new和delete来申请和释放内存new:先申请一个空间int\Stash:默认构造函数初始化对象~:析构函数析构delete:再释放空间......
  • 【Redis】Key过期了为什么内存没有释放
    SET除了可以设置key-value之外,还可以设置key的过期时间。  如果想要修改key的值,使用set命令,而没有加上过期时间的参数,那么这个key的过期时间将会被擦除。......
  • linux文件内容查看命令 实验报告
    实验任务Linux查看文件基础命令 实验环境一台centos7 实验步骤1.显示文件全部内容Cat+想要查看的文件名  2.显示文件全部内容并加行号  3.空行不......
  • 驱动开发:内核CR3切换读写内存
    首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操......
  • 1.springsecurity基于内存和数据库的认证
    1.总结:昨天主要是使用security实现了基于内存的认证和基于数据库的认证(实际项目中使用);在security的项目中,必须配置WebSecurityConfigurerAdaptor的实现类来重写它的基于......