返回顶部
首页 > 资讯 > 精选 >【swap】例出使用swap进程的信息
  • 590
分享到

【swap】例出使用swap进程的信息

2023-06-05 22:06:58 590人浏览 八月长安
摘要

#for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '&

#for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr

#!/bin/bash

###############################################################################

###############################################################################

echo -e "PID\t\tSwap\t\tProc_Name"

 

# 拿出/proc目录下所有以数字为名的目录(进程名是数字才是进程,其他如sys,net等存放的是其他信息)

for pid in `ls -l /proc | grep ^d | awk '{ print $9 }'| grep -v [^0-9]`

do

 # 让进程释放swap的方法只有一个:就是重启该进程。或者等其自动释放。

 # 如果进程会自动释放,那么我们就不会写脚本来找他了,找他都是因为他没有自动释放。

 # 所以我们要列出占用swap并需要重启的进程,但是init这个进程是系统里所有进程的祖先进程

 # 重启init进程意味着重启系统,这是万万不可以的,所以就不必检测他了,以免对系统造成影响。

 if [ $pid -eq 1 ];then continue;fi # Do not check init process

 # 判断改进程是否占用了swap

 grep -q "Swap" /proc/$pid/smaps 2>/dev/null

 if [ $? -eq 0 ];then # 如果占用了swap

# 占用swap的总大小(单位:KB)

 swap=$(grep Swap /proc/$pid/smaps | awk '{ sum+=$2;} END{ print sum }')

# 进程名

 proc_name=$(ps aux | grep -w "$pid" | grep -v grep  | gawk '{ for(i=11;i<=NF;i++){ printf("%s ",$i); }}')

if [ $swap -gt 0 ];then # 如果占用了swap则输出其信息

 echo -e "$pid\t${swap}\t$proc_name"

fi

 fi

done | sort -k2 -n | gawk -F'\t' '{ # 按占用swap的大小排序,再用awk实现单位转换。

# 如:将1024KB转换成1M。将1048576KB转换成1G,以提高可读性。

 pid[NR]=$1;

 size[NR]=$2;

 name[NR]=$3;

}

END{

 for(id=1;id<=length(pid);id++)

 {

     if(size[id]<1024)

           printf("%-10s\t%15sKB\t%s\n",pid[id],size[id],name[id]);

     else if(size[id]<1048576)

           printf("%-10s\t%15.2fMB\t%s\n",pid[id],size[id]/1024,name[id]);

     else

   printf("%-10s\t%15.2fGB\t%s\n",pid[id],size[id]/1048576,name[id]);

 }

}'

--结束END--

本文标题: 【swap】例出使用swap进程的信息

本文链接: https://lsjlt.com/news/244867.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【swap】例出使用swap进程的信息
    #for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '&...
    99+
    2023-06-05
  • Shell脚本实现监控swap空间使用情况和查看占用swap的进程
    #!/bin/bash echo -e `date +%y%m%d%H%M` echo -e "PIDttSwapttProc_Name" # 拿出/proc目录下所有以数字为名的目录...
    99+
    2022-06-04
    脚本 进程 情况
  • 如何用Shell脚本实现监控swap空间使用情况和查看占用swap的进程
    本篇内容主要讲解“如何用Shell脚本实现监控swap空间使用情况和查看占用swap的进程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Shell脚本实现监控swap空间使用情况和查看占用...
    99+
    2023-06-09
  • C++11的swap怎么使用
    这篇文章主要介绍“C++11的swap怎么使用”,在日常操作中,相信很多人在C++11的swap怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11的swap怎么使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-19
  • linux swap分区的使用指南
    本篇内容主要讲解“linux swap分区的使用指南”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux swap分区的使用指南”吧!Linux中SWAP交换分区概述交换分区。我们如果没有足...
    99+
    2023-06-13
  • Redis swap空间(虚拟内存)的使用详解
       swap空间对于操作系统来说比较重要,当我们使用操作系统的时候,如果系统内存不足,常常会将一部分内存数据页进行swap操作,以解决临时的内存困境。swap空...
    99+
    2024-04-02
  • linux怎么查看进程输出信息
    在Linux中,可以使用以下命令来查看进程的输出信息: `ps`命令:可以使用`ps`命令来列出当前正在运行的进程。可以通过使用...
    99+
    2023-10-25
    linux
  • python查看进程使用内存信息 psu
    翻译自: https://stackoverflow.com/questions/938733/total-memory-used-by-python-process psutil官网介绍:https://github.com...
    99+
    2023-01-31
    进程 内存 信息
  • Linux如何查看进程栈信息示例
    今天在linux上调试程序程序的时候发现有时候程序会莫名其妙的hang住,于是就想能不能找到当时程序有那些线程,都在做什么。找了一下linux命令,还真可以满足我的需求。下面看一个小例子。 先准备一段程序,为了简单起见这...
    99+
    2022-06-04
    linux 查看进程堆栈 linux 查看进程调用栈 linux 查看进程栈
  • Linux查看进程的所有信息的方法示例
    服务器上有一个任务进程,当我们使用ps -ef | grep task查看时,只能得到一些最基本的信息,假如我们需要知道对应的文件路径、启动命令的完整路径,就无从下手了。 今天教大家一个方法来查看进程的所有信息,包括启动...
    99+
    2022-06-04
    Linux查看进程信息 linux查看所有进程 linux查看进程命令
  • Linux如何使用命令查看进程状态信息
    这篇文章主要讲解了“Linux如何使用命令查看进程状态信息”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux如何使用命令查看进程状态信息”吧! 1. 前言本文主要介绍如何使用...
    99+
    2023-06-16
  • Linux进程间通信中如何使用消息队列
    本篇文章给大家分享的是有关Linux进程间通信中如何使用消息队列,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个...
    99+
    2023-06-16
  • 复制Windows应用程序错误信息的方法(复制弹出框信息)
    吃着火锅唱着歌,电脑某个程不累死…… 给你个简单的方法那就是:直接按Ctrl+C就可以了!!! 是的,就是这么简单,弹出错误对话框的时候按Ctrl+C,然后去记事本里Ctrl+V 看看,错误...
    99+
    2023-06-05
    Windows 应用程序错误 复制信息 信息 错误信息 应用程序 方法
  • 一文学会使用Linux内核模块&proc实例统计所有进程信息
    目录实例要求解决方案archlinux 下的makefile实例要求 编写一个Linux的内核模块,其功能是遍历操作系统所有进程。该内核模块输出系统中:每个进程的名字、进程pid、进...
    99+
    2023-05-20
    Linux 内核模块 Linux &proc统计进程信息
  • Linux消息队列实现进程间通信实例详解
    Linux消息队列实现进程间通信实例详解 一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构...
    99+
    2022-06-04
    队列 详解 实例
  • Linux下route命令输出信息的示例分析
    这篇文章主要为大家展示了“Linux下route命令输出信息的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下route命令输出信息的示例分析”这篇文章吧。使用不带任何参数的r...
    99+
    2023-06-17
  • Linux中如何使用pstree命令过滤特定进程信息
    在Linux中使用pstree命令过滤特定进程信息,可以结合grep命令来实现。例如,要过滤出包含特定关键词的进程信息,可以使用以下...
    99+
    2024-04-02
  • Linux中怎么使用grep命令过滤特定进程信息
    要在Linux中使用grep命令过滤特定进程信息,可以通过以下步骤: 使用ps命令查看当前系统中运行的进程信息,例如: ps a...
    99+
    2024-04-02
  • 使用redis数据库存储用户信息的示例
    这篇文章给大家分享的是有关使用redis数据库存储用户信息的示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。比较推荐的方式是使用redis数据库中的hash类型来存储。当然使用...
    99+
    2024-04-02
  • 使用Python怎么对Syslog信息进行分析
    本篇文章给大家分享的是有关使用Python怎么对Syslog信息进行分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实验目的:对设备Syslong信息进行分析记录,并写入sq...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作