[20140627]linux下显示那个进程使用swap

[20140627]linux下显示那个进程使用swap.txt

--要了解linux下那个进程使用交换:

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

for file in /proc/*/status
do
    awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file
    echo $file
done | sort -k 2 -n -r | less

--最好使用smem命令:
http://pkgs.repoforge.org/smem/

SMEM(8)                                                                SMEM(8)

NAME
       smem - Report memory usage with shared memory divided proportionally.

SYNOPSIS
       smem [options]

DESCRIPTION
       smem reports physical memory usage, taking shared memory pages into account. Unshared memory is reported as the
       USS (Unique Set Size). Shared memory is divided evenly among the processes sharing that memory. The unshared
       memory (USS) plus a process's proportion of shared memory is reported as the PSS (Proportional Set Size). The USS
       and PSS only include physical memory usage. They do not include memory that has been swapped out to disk.

       Memory can be reported by process, by user, by mapping, or systemwide. Both text mode and graphical output are
       available.

# smem  -u
User     Count     Swap      USS      PSS      RSS
rpcuser      1      284        4       35      768
rpc          1      140      112      128      640
ntp          1      300      312      365     1204
root        27     5004    16300    17772    31692
oracle11g    38        0   231468   298472   963372

# smem  -w
Area                           Used      Cache   Noncache
firmware/hardware                 0          0          0
kernel image                      0          0          0
kernel dynamic memory       3459608    3311424     148184
userspace memory             315448     134996     180452
free memory                  149744     149744          0

--在生产系统测试1下,用户连接多执行有点慢.

#  smem -u
User     Count     Swap      USS      PSS      RSS
stap-server  1     6060       24       31      792
rpcuser      1      228       68       74      752
rpc          1      112      160      171      704
root        24     6928    30296    31497    44136
oracle    2489   808760 12268960 12295238 58056528

#  smem -k -t -s swap

#  smem -k -t -s swap
  PID User     Command                         Swap      USS      PSS      RSS
  420 oracle   oraclehrp430 (LOCAL=NO)            0     3.7M     3.7M    18.3M
  501 oracle   oraclehrp430 (LOCAL=NO)            0     3.8M     3.8M    19.2M
  527 oracle   oraclehrp430 (LOCAL=NO)            0     5.4M     5.4M    24.2M
  645 oracle   oraclehrp430 (LOCAL=NO)            0     3.7M     3.7M    18.8M
  667 oracle   oraclehrp430 (LOCAL=NO)            0     4.2M     4.2M    22.0M
  813 oracle   oraclehrp430 (LOCAL=NO)            0     3.7M     3.7M    18.8M
....
23698 oracle   oraclehrp430 (LOCAL=NO)         7.1M    41.1M    41.1M    59.3M
19470 oracle   oraclehrp430 (LOCAL=NO)         8.2M    20.2M    20.2M    38.3M
5117 oracle   oraclehrp430 (LOCAL=NO)        12.0M    15.5M    15.5M    33.8M
6024 oracle   oraclehrp430 (LOCAL=NO)        16.5M     2.5M     2.5M    20.0M
28365 oracle   oraclehrp430 (LOCAL=NO)        17.8M    41.5M    41.5M    56.3M
28604 oracle   oraclehrp430 (LOCAL=NO)        18.8M   132.0K   141.0K    17.7M
29539 oracle   oraclehrp430 (LOCAL=NO)        22.5M    30.7M    30.7M    45.5M
7024 oracle   oraclehrp430 (LOCAL=NO)        28.5M    31.8M    31.8M    51.2M
-------------------------------------------------------------------------------
2510 6                                      787.7M    11.4G    11.4G    55.0G

--慢慢看看man文档.

时间: 2024-11-10 07:50:23

[20140627]linux下显示那个进程使用swap的相关文章

python-如何在linux下开启守护进程

问题描述 如何在linux下开启守护进程 问题是这样的:我用python写了两个模块:Store.py,Search.py,在这两个文件中,分别会开启Store线程和Search线程.这两个线程是需要一直开启的,如果发现这两个线程挂了,需要重新开启. 我之前的做法是:在linux的begin.sh脚本中写下如下内容: #!/bin/bash python Store.py python Search.py 然后执行./begin.sh. 然后出现下面的问题: 由于Store.py中开启了线程,程

linux验证码-验证码在linux下显示红叉

问题描述 验证码在linux下显示红叉 验证码在windows下能正常显示,在linux下显示红叉,验证码用的是kaptcha2.3.2.jar,请问怎样才能让在linux环境下正常显示,谢谢! 解决方案 http://blog.csdn.net/baohuan_love/article/details/14226285 这里有篇文章你可以参考下,希望对你有所帮助!

linux下的守护进程_Linux

Linux下的常驻进程的作用不可忽略,但这里面的问题也不能忽略,怎么启动进程,怎么结束进程,怎么在进程挂掉之后重启进程都要设计的合理.下面看一个shell控制的php常驻进程的例子. 不废话,直接捞干货,上代码,通过代码来讲解更容易理解: 复制代码 代码如下: #!/bin/sh #filename test.sh #绝对定位该文件的位置,不随执行目录而变化 cd $(cd "$(dirname "$0")";pwd) readonly path=$(pwd)/ f

Linux下批量杀死进程(根据关键字杀死进程)

进程在计算机中是一个程序执行过程的标志,当程序执行完时,相应的进程也该终止.但是实际情况中很多进程没有在程序执行终止时死掉,于是变成了僵尸进程,少量的僵尸进程并不会影响服务器的性能,但是任何服务器在进程很多的时候都无法提供很好的性能. 有时候因为一些特殊情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用 ps, grep, cut 和

Linux下杀僵尸进程办法

1) 检查当前僵尸进程信息 # ps -ef | grep defunct | grep -v grep | wc -l 175 # top | head -2 top - 15:05:54 up 97 days, 23:49, 4 users, load average: 0.66, 0.45, 0.39 Tasks: 829 total, 1 running, 479 sleeping, 174 stopped, 175 zombie # ps -ef | grep defunct | gr

【图解】Linux下C程序进程地址空间布局 .

 作者:沧海猎人   出处:http://blog.csdn.net/embedded_hunter  转载请注明出处   嵌入式技术交流QQ群:179012822 我们在学习C程序开发时经常会遇到一些概念:代码段.数据段.BSS段(Block Started by Symbol) .堆(heap)和栈(stack).先看一张教材上的示意图(来源,<UNIX环境高级编程>一书),显示了进程地址空间中典型的存储区域分配情况.            从图中可以看出: 从低地址到高地址分别为:代码段

linux下显示中文目录和文件名

  选择一个一劳永逸的方法,就是修改/etc/下的fstab文件,我的fstab内容如下: /dev/hda9 / ext2 defaults 1 1 /dev/hda8 /boot ext2 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda10 swap swap defaults 0 0 /dev

linux下daemon守护进程的实现(以nginx代码为例)

ngx_int_t ngx_daemon(ngx_log_t *log) { int fd; // 让init进程成为新产生进程的父进程: // 调用fork函数创建子进程后,使父进程立即退出.这样,产生的子进程将变成孤儿进程,并被init进程接管, // 同时,所产生的新进程将变为在后台运行. switch (fork()) { case -1: ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "fork() failed"); return

linux下的僵尸进程处理SIGCHLD信号

什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息.这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息. 而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或waitpid来获得它的结束状态)的进程. 任何一个子进程(init除外)在exit后并非马上就消失,而是留