如何在 Linux 中找出内存消耗最大的进程
很多次,你可能遇见过系统消耗了过多的内存。如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程。我相信,你可能已经运行了下文中的命令以进行检查。如果没有,那你尝试过哪些其他的命令?我希望你可以在评论中更新这篇文章,它可能会帮助其他用户。
使用 top 命令 和 ps 命令 可以轻松的识别这种情况。我过去经常同时使用这两个命令,两个命令得到的结果是相同的。所以我建议你从中选择一个喜欢的使用就可以。
1) 如何使用 ps 命令在 Linux 中查找内存消耗最大的进程
ps
命令用于报告当前进程的快照。ps
命令的意思是“进程状态”。这是一个标准的 Linux 应用程序,用于查找有关在 Linux 系统上运行进程的信息。
它用于列出当前正在运行的进程及其进程 ID(PID)、进程所有者名称、进程优先级(PR)以及正在运行的命令的绝对路径等。
下面的 ps
命令格式为你提供有关内存消耗最大进程的更多信息。
# ps aux --sort -rss | headUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 4094 10.8 0.0 786792 250784 pts/0 Rl 15:13 3:08 /usr/local/bin/python /usr/local/bin/scrapy crawlall
root 4017 10.6 0.0 781296 245344 pts/0 Sl 15:13 3:06 python start.py
root 4044 10.6 0.0 777784 241760 pts/0 Sl 15:13 3:06 python start_all.py
root 347 53.7 0.0 869020 127732 pts/0 Sl 15:01 21:43 python runsearch.py
root 9795 14.1 0.0 351424 110060 pts/0 Sl 15:29 1:46 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommendDetail
root 207 1.0 0.0 663680 100452 pts/0 S 14:58 0:27 python rundouban.py
root 8900 2.5 0.0 416604 99076 pts/0 Sl 15:27 0:22 /usr/local/bin/python /usr/local/bin/scrapy crawl channel_recommend
root 9051 2.4 0.0 413652 97940 pts/0 Sl 15:27 0:20 /usr/local/bin/python /usr/local/bin/scrapy crawl iqiyi_detail
root 6232 26.2 0.0 540584 78892 pts/0 Sl 15:17 6:21 /usr/local/bin/python /usr/local/bin/scrapy crawlall
使用以下 ps
命令格式可在输出中仅展示有关内存消耗过程的特定信息。
# ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | headPID PPID %MEM %CPU CMD4094 4093 0.0 10.8 /usr/local/bin/python /usr/local/bin/scrapy crawlall4017 100 0.0 10.6 python start.py4044 100 0.0 10.6 python start_all.py347 100 0.0 53.7 python runsearch.py9795 9794 0.0 14.1 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommendDetail207 100 0.0 1.0 python rundouban.py8900 8899 0.0 2.5 /usr/local/bin/python /usr/local/bin/scrapy crawl channel_recommend9051 9050 0.0 2.4 /usr/local/bin/python /usr/local/bin/scrapy crawl iqiyi_detail6232 6231 0.0 26.1 /usr/local/bin/python /usr/local/bin/scrapy crawlall
如果你只想查看命令名称而不是命令的绝对路径,请使用下面的 ps
命令格式。
# ps -eo pid,ppid,%mem,%cpu,comm --sort=-%mem | headPID PPID %MEM %CPU COMMAND4094 4093 0.0 10.8 scrapy4017 100 0.0 10.6 python4044 100 0.0 10.6 python347 100 0.0 53.7 python9795 9794 0.0 14.1 scrapy207 100 0.0 1.0 python8900 8899 0.0 2.5 scrapy9051 9050 0.0 2.4 scrapy6232 6231 0.0 26.1 scrapy
2) 如何使用 top 命令在 Linux 中查找内存消耗最大的进程
Linux 的 top
命令是用来监视 Linux 系统性能的最好和最知名的命令。它在交互界面上显示运行的系统进程的实时视图。但是,如果要查找内存消耗最大的进程,请 在批处理模式下使用 top 命令。
你应该正确地 了解 top 命令输出 以解决系统中的性能问题。
# top -c -b -o +%MEM | head -n 20 | tail -15PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND4094 root 20 0 786792 250784 17176 S 13.3 0.1 3:11.80 /usr/local/bin/python /usr/local/bin/scrapy crawlall4017 root 20 0 781296 245344 17128 S 20.0 0.1 3:10.43 python start.py4044 root 20 0 777784 241760 17060 S 6.7 0.1 3:09.57 python start_all.py347 root 20 0 864896 121756 9400 R 53.3 0.0 22:05.20 python runsearch.py9795 root 20 0 351424 110192 17112 S 26.7 0.0 1:52.30 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommendDe+207 root 20 0 663680 100452 9344 S 0.0 0.0 0:27.69 python rundouban.py8900 root 20 0 416604 99076 17180 S 0.0 0.0 0:23.99 /usr/local/bin/python /usr/local/bin/scrapy crawl channel_recommend9051 root 20 0 413652 97940 17080 S 0.0 0.0 0:21.67 /usr/local/bin/python /usr/local/bin/scrapy crawl iqiyi_detail287 root 20 0 680836 84836 9276 S 53.3 0.0 21:45.32 python runhotshort.py6232 root 20 0 540584 78892 17596 S 13.3 0.0 6:29.85 /usr/local/bin/python /usr/local/bin/scrapy crawlall6738 root 20 0 540088 78088 17164 S 0.0 0.0 1:21.48 /usr/local/bin/python /usr/local/bin/scrapy crawlall9587 root 20 0 319576 78012 17132 S 0.0 0.0 0:21.64 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommend370 root 20 0 375324 74100 9204 S 0.0 0.0 0:27.03 python runweibo.py
如果你只想查看命令名称而不是命令的绝对路径,请使用下面的 top
命令格式。
# top -b -o +%MEM | head -n 20 | tail -15PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND4094 root 20 0 786792 250784 17176 S 18.8 0.1 3:13.45 scrapy4017 root 20 0 781296 245344 17128 S 12.5 0.1 3:11.66 python4044 root 20 0 777784 241760 17060 S 12.5 0.1 3:10.89 python347 root 20 0 837792 127168 9400 R 50.0 0.0 22:11.08 python9795 root 20 0 351424 110192 17112 S 12.5 0.0 1:54.07 scrapy207 root 20 0 663680 100452 9344 S 0.0 0.0 0:27.69 python8900 root 20 0 416604 99076 17180 S 0.0 0.0 0:24.19 scrapy9051 root 20 0 413652 97940 17080 S 0.0 0.0 0:22.01 scrapy287 root 20 0 685188 89200 9276 R 43.8 0.0 21:52.67 python6232 root 20 0 540584 78892 17596 S 18.8 0.0 6:33.94 scrapy6738 root 20 0 540088 78088 17164 S 0.0 0.0 1:22.23 scrapy9587 root 20 0 319576 78012 17132 S 0.0 0.0 0:22.02 scrapy370 root 20 0 375324 74100 9204 S 0.0 0.0 0:27.03 python
如何在 Linux 中找出内存消耗最大的进程相关推荐
- c++ 进程快照_如何在 Linux 中找出内存消耗最大的进程
很多次,你可能遇见过系统消耗了过多的内存.如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程. -- Magesh Maruthamuthu(作者) 很多次,你可能遇见过系统 ...
- linux误修改文件名恢复,如何在 Linux 中找出最近或今天被修改的文件-linux修改文件名...
Linux 用户在命令行上遇到的常见问题之一是定位具有特定名称的文件,如果你知道确定的文件名则可能会容易得假设你忘记了白天早些时候创建的文件的名称(在你包含了数百个文件的 home 文件夹中),但现在 ...
- 在linux中查找重复的文件夹,如何在Linux上找出并删除重复的文件:FSlint
大家好,今天我们会学习如何在Linux PC或者服务器上找出和删除重复文件.这里有一款工具你可以工具自己的需要使用. 无论你是否正在使用Linux桌面或者服务器,有一些很好的工具能够帮你扫描系统中的重 ...
- 如何在Linux中清除交换内存
交换内存通常是一种"设置好后遗忘"的事情.大多数企业环境已在系统中内置了交换功能,并且除非明显存在可用内存不足或者由于OOM杀手(内存不足)错误导致服务器崩溃,否则不会操纵这些内存 ...
- linux杀java线程,如何在Linux下找出大量占用CPU的java线程
首先获取jvm的进程pid. [biee02@bjkjy-bi-devbiee01 ~]$ jps -v 26048 Server -Xms256m -Xmx2048m -Dweblogic.Name ...
- matlab 矩阵中的矩阵的特征值,当矩阵的所有条目都是变量时,如何在matlab中找出矩阵的特征值?...
在MATLAB中没问题. >> syms a b c d e >> M = [a*b -c -d 0 -c e -a -b-d -d -a d -e 0 -b-d -e a]; ...
- linux如何杀死进程最快,如何在Linux系统中杀掉内存消耗最大的进程?
作为一名博客作者,我收藏了很多博客.网站和论坛用来寻找 Linux 和 Unix 相关的内容.有时候,我在浏览器中开启了非常多的标签页,导致操作系统会无响应好几分钟.我不能移动我的鼠标,也不能杀掉一个 ...
- 如何在10亿个整数中找出前1000个最大的数?
作者:vincent-duan,专注 Java,沉迷开源,架构师社区合伙人! 面试题目:如何在10亿个整数中找出前1000个最大的数. 我们知道排序算法有很多: 冒泡算法:通过两层for循环,外层第一 ...
- 如何在10亿个整数中找出前1000个最大的数(TopN算法)
面试题目:如何在10亿个整数中找出前1000个最大的数. 我们知道排序算法有很多: 冒泡算法:通过两层for循环,外层第一次循环找到数组中最大的元素放置在倒数第一个位置,第二次循环找到第二大的元素放置 ...
最新文章
- volatile的用法
- mysql model first,一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具
- android之服务
- 对大学 IT 专业教育的反馈
- springboot在intellij中的热部署(Hot swapping)配置
- 【英语天天读】第一场雪
- mysql百万级数据测试_百万级数据mysql测试环境介绍
- 微信小程序Axure元件库
- jQuery 版本升级迁移
- 如何修改域名DNS服务器?修改DNS服务器常见问题汇总
- 火狐flash扩展_获得您喜欢的扩展以在Firefox Alpha构建中使用
- 手机java时代浏览器_巅峰之战 三款最热java手机浏览器横评
- 【往届期末试卷】2018届数据库原理与应用
- 1GB等于2的多少次方
- access的否定形式_雅思考试对于新手有多难?
- android虚拟按键实现,虚拟按键的实现
- 增程式电动汽车建模与仿真(一)
- 有钱人抢豪宅,普通人不敢消费:社会在割裂,富人更富,穷人更穷
- Linux更改root用户名以提高安全性
- 【日记】 使用 zip4j 实现压缩包加密