很多次,你可能遇见过系统消耗了过多的内存。如果是这种情况,那么最好的办法是识别出 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 中找出内存消耗最大的进程相关推荐

  1. c++ 进程快照_如何在 Linux 中找出内存消耗最大的进程

    很多次,你可能遇见过系统消耗了过多的内存.如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程. -- Magesh Maruthamuthu(作者) 很多次,你可能遇见过系统 ...

  2. linux误修改文件名恢复,如何在 Linux 中找出最近或今天被修改的文件-linux修改文件名...

    Linux 用户在命令行上遇到的常见问题之一是定位具有特定名称的文件,如果你知道确定的文件名则可能会容易得假设你忘记了白天早些时候创建的文件的名称(在你包含了数百个文件的 home 文件夹中),但现在 ...

  3. 在linux中查找重复的文件夹,如何在Linux上找出并删除重复的文件:FSlint

    大家好,今天我们会学习如何在Linux PC或者服务器上找出和删除重复文件.这里有一款工具你可以工具自己的需要使用. 无论你是否正在使用Linux桌面或者服务器,有一些很好的工具能够帮你扫描系统中的重 ...

  4. 如何在Linux中清除交换内存

    交换内存通常是一种"设置好后遗忘"的事情.大多数企业环境已在系统中内置了交换功能,并且除非明显存在可用内存不足或者由于OOM杀手(内存不足)错误导致服务器崩溃,否则不会操纵这些内存 ...

  5. linux杀java线程,如何在Linux下找出大量占用CPU的java线程

    首先获取jvm的进程pid. [biee02@bjkjy-bi-devbiee01 ~]$ jps -v 26048 Server -Xms256m -Xmx2048m -Dweblogic.Name ...

  6. 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]; ...

  7. linux如何杀死进程最快,如何在Linux系统中杀掉内存消耗最大的进程?

    作为一名博客作者,我收藏了很多博客.网站和论坛用来寻找 Linux 和 Unix 相关的内容.有时候,我在浏览器中开启了非常多的标签页,导致操作系统会无响应好几分钟.我不能移动我的鼠标,也不能杀掉一个 ...

  8. 如何在10亿个整数中找出前1000个最大的数?

    作者:vincent-duan,专注 Java,沉迷开源,架构师社区合伙人! 面试题目:如何在10亿个整数中找出前1000个最大的数. 我们知道排序算法有很多: 冒泡算法:通过两层for循环,外层第一 ...

  9. 如何在10亿个整数中找出前1000个最大的数(TopN算法)

    面试题目:如何在10亿个整数中找出前1000个最大的数. 我们知道排序算法有很多: 冒泡算法:通过两层for循环,外层第一次循环找到数组中最大的元素放置在倒数第一个位置,第二次循环找到第二大的元素放置 ...

最新文章

  1. volatile的用法
  2. mysql model first,一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具
  3. android之服务
  4. 对大学 IT 专业教育的反馈
  5. springboot在intellij中的热部署(Hot swapping)配置
  6. 【英语天天读】第一场雪
  7. mysql百万级数据测试_百万级数据mysql测试环境介绍
  8. 微信小程序Axure元件库
  9. jQuery 版本升级迁移
  10. 如何修改域名DNS服务器?修改DNS服务器常见问题汇总
  11. 火狐flash扩展_获得您喜欢的扩展以在Firefox Alpha构建中使用
  12. 手机java时代浏览器_巅峰之战 三款最热java手机浏览器横评
  13. 【往届期末试卷】2018届数据库原理与应用
  14. 1GB等于2的多少次方
  15. access的否定形式_雅思考试对于新手有多难?
  16. android虚拟按键实现,虚拟按键的实现
  17. 增程式电动汽车建模与仿真(一)
  18. 有钱人抢豪宅,普通人不敢消费:社会在割裂,富人更富,穷人更穷
  19. Linux更改root用户名以提高安全性
  20. 【日记】 使用 zip4j 实现压缩包加密

热门文章

  1. 高级前端:前端程序员应该系统掌握的行业技术栈,10年磨一剑
  2. ldap打通confluence
  3. SAP 传输请求的操作步骤
  4. 两种常用碱性磷酸酶化学发光底物APS-5/AMPPD(CAS:193884-53-6/122341-56-4)
  5. vue+echarts绘制3D地图
  6. 电容的字母型规格型号标号含义解读总结
  7. sync.Map详解
  8. Hastelloy C-276 (UNS N10276)含钨的镍-铬-钼合金
  9. python画恐龙_Python
  10. 博图——自定义数据类型的妙用