查看那些进程使用了swap

https://blog.csdn.net/xiangliangyu/article/details/8213127
$ sudo pacman -S iotop

https://blog.longwin.com.tw/2017/02/linux-find-use-swap-process-2017/
單純使用到 swap 的 PID 列表可查 /proc/*/status 的 VmSwap 值
$ grep VmSwap /proc/*/status

查看那些进程使用了swap:
$ for file in /proc/*/status ; do awk ‘/VmSwap|Name/{printf $2 " " $3}END{ print ""}‘ $file; done | sort -k 2 -n -r | less

https://stackoverflow.com/questions/30481314/how-can-i-know-which-process-is-using-swap
https://stackoverflow.com/questions/479953/how-to-find-out-which-processes-are-using-swap-space-in-linux
查看那些进程使用了swap:(改进版)
$ (echo "COMM PID SWAP"; for file in /proc/*/status ; do awk ‘/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}‘ $file; done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t

https://www.cyberciti.biz/faq/linux-which-process-is-using-swap/
$ sudo pacman -S smem
$ smem
要查看面向库的视图,请输入:
# smem -m

要查看面向用户的视图,请输入:
$ sudo smem -u
[sudo] password for toma:
User Count Swap USS PSS RSS
rtkit 1 236 68 85 1356
dbus 1 296 804 878 2388
polkitd 1 4860 1956 1995 4400
root 14 26064 106560 127519 173776
toma 89 87412 3092876 3294633 7503088
$

要查看系统范围的内存使用情况摘要,请传递-w选项:
$ sudo smem -w
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 4509624 4305388 204236
userspace memory 3424012 422456 3001556
free memory 225776 225776 0
$

查看系统视图
$ sudo smem -R 8G -K /path/to/vmlinux/on/disk -w
size: ‘/path/to/vmlinux/on/disk‘: No such file
Parameter ‘/path/to/vmlinux/on/disk‘ should be an original uncompressed compiled kernel file.

Area Used Cache Noncache
firmware/hardware 229196.0 0 229196.0
kernel image 0 0 0
kernel dynamic memory 4521572 4314964 206608
userspace memory 3448996 422668 3026328
free memory 188844 188844 0
$

要查看总计和百分比,请输入:
$ sudo smem -t -p
PID User Command Swap USS PSS RSS
518 toma /bin/sh /etc/xdg/xfce4/xini 0.01% 0.00% 0.00% 0.01%
753 toma /usr/lib/ibus/ibus-engine-s 0.01% 0.00% 0.00% 0.02%
......
106 5 1.42% 39.57% 42.28% 94.51%

# smem --help
-h, --help show this help message and exit
-H, --no-header disable header line 禁用标题行
-c COLUMNS, --columns=COLUMNS columns to show 要显示的列
-t, --totals show totals 显示总数
-a, --autosize size columns to fit terminal size
-R REALMEM, --realmem=REALMEM amount of physical RAM 物理RAM的数量
-K KERNEL, --kernel=KERNEL path to kernel image 内核映像的路径
-m, --mappings show mappings 显示映射
-u, --users show users 显示用户
-w, --system show whole system 显示整个系统
-P PROCESSFILTER, --processfilter=PROCESSFILTER process filter regex 进程过滤器正则表达式
-M MAPFILTER, --mapfilter=MAPFILTER map filter regex 地图过滤器正则表达式
-U USERFILTER, --userfilter=USERFILTER user filter regex 用户过滤器正则表达式
-n, --numeric numeric output 数字输出
-s SORT, --sort=SORT field to sort on 要排序的SORT字段
-r, --reverse reverse sort 反向排序
-p, --percent show percentage 显示百分比
-k, --abbreviate show unit suffixes 显示单位后缀k
--pie=PIE show pie graph 显示饼图
--bar=BAR show bar graph 显示条形图
-S SOURCE, --source=SOURCE /proc data source /proc数据源

原文地址:https://www.cnblogs.com/sztom/p/10662353.html

时间: 2024-10-09 17:22:48

查看那些进程使用了swap的相关文章

查看哪些进程占用了SWAP分区?

在日常管理中,我们经常会遇到swap分区使用比较多,那么导致是那些进程使用的呢,其实我们可以通过/proc/pid/下的smaps来获得.使用下面的命令可以列出所有进程占用的swap分区的大小,分别我们分析问题. 1 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/s

linux查看某个进程的线程id(spid)

鉴于linux下线程的广泛使用 我们怎么查看某个进程拥有的线程id了 现在很多服务的设计 主进程->子进程->线程(比如mysql,varnish) 主进程负责侦听网络上的连接 并把连接发送给子进程 子进程派生线程去处理这些线程 mysql(父进程460,子进程863) 1 460 425 333 ? -1 S 0 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/storage/mysql/backup --pid-file=/

Linux有问必答:Linux上如何查看某个进程的线程

原创:LCTT https://linux.cn/article-5633-1.html 译者: GOLinux本文地址:https://linux.cn/article-5633-1.html2015-6-15 15:44 收藏: 9 问题: 我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率). 线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念.当一个程序内有多个线程被叉分出用以执

nethogs查看linux进程的带宽使用

sudo apt-get install build-essential sudo apt-get install libncurses5-dev libpcap-dev wget -c https://github.com/raboof/nethogs/archive/v0.8.1.tar.gz tar xf v0.8.1.tar.gz cd ./nethogs-0.8.1/ make && sudo make install 安装完输入 nethogs 可查看linux进程的带宽使用

Android Studio如何选择查看指定进程的log?

今天说一个简单的东东,关于Android Studio在logcat中如何查看指定进程的log. 关于过滤你自己所开发的应用的log,在这篇文章中:Android Studio如何给log添加过滤项(Filters)?有提及.当 然很多时候可能我们会有这样的场景,我们想看某一个进程的log,比如我想看酷狗的log,但是如果process那栏的进 程很多,这个时候logo也会非常多,这种情况下,你很难分辨出哪个logo是属于酷狗的. 其实,Android Studio还是有和Eclipse一样的选

linux 下查看一个进程运行路径

在linux下查看进程大家都会想到用 ps -ef|grep XXX 可是看到的不是全路径,怎么看全路径呢? 每个进程启动之后在 /proc下面有一个于pid对应的路径 例如:ps -ef|grep python 显示:oracle    4431  4366  0 18:56 pts/2    00:00:00 python Server.py 4431就是进程号 到/proc/4431下,ls -l 会看到(需要root权限): 总用量 0 -r--r--r--    1 oracle  

Windows下查看8080进程及结束进程命令

Windows下查看进程及结束进程命令 1)查看占用8080端口的进程号 >netstat –aon | findstr “8080” 结果:TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       3500 可知,进程号为3500的进程占用了8080端口 可以使用命令 tasklist | findstr “3500”进一步查看3500进程的具体信息. > tasklist | findstr “3500” 结果

Linux 平台如何查看某个进程的线程数?

Linux 平台如何查看某个进程的线程数? 三种方法:1. 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程. 2. 使用ps命令,具体用法是 ps -xH 这样可以查看所有存在的线程,也可以使用grep作进一步的过滤.3. 使用ps命令,具体用法是 ps -mq pid 这样可以看到指定的进程产生的线程数目.更进一步,其实一些系统监控工具, 在本质上也是读取的系统产生的文件罢了.比如说进程这个事情,现在假设有进程号为 5000 的进程,查看

linux -- 进程的查看、进程id的获取、进程的杀死

进程查看 ps ax : 显示当前系统进程的列表 ps aux : 显示当前系统进程详细列表以及进程用户 ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps ax|grep XXX(XXX为进程名称) 获取进程id shell获取进程ID的方法: ps -A |grep "cmdname"| awk '{print $1}' pidof "cmdname" pgrep "cmdname" 这三种在bash和