Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >检查高 CPU 进程在 Linux 上运行时间的脚本

检查高 CPU 进程在 Linux 上运行时间的脚本

原创
作者头像
用户4988085
修改于 2021-09-15 04:03:15
修改于 2021-09-15 04:03:15
2.2K02
代码可运行
举报
文章被收录于专栏:建站知识建站知识
运行总次数:2
代码可运行

该脚本将帮助你确定高 CPU 消耗进程在 Linux 上运行了多长时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# vi /opt/scripts/long-running-cpu-proc.sh#!/bin/bashps -eo pid,user,ppid,%mem,%cpu,cmd --sort=-%cpu | head | tail -n +2 | awk '{print $1}' > /tmp/long-running-processes.txtecho "--------------------------------------------------"echo "UName     PID  CMD            Process_Running_Time"echo "--------------------------------------------------"for userid in `cat /tmp/long-running-processes.txt`dousername=$(ps -u -p $userid | tail -1 | awk '{print $1}')pruntime=$(ps -p $userid -o etime | tail -1)ocmd=$(ps -p $userid | tail -1 | awk '{print $4}')echo "$username $userid $ocmd $pruntime"done | column -techo "--------------------------------------------------"

给 long-running-cpu-proc.sh 设置可执行的 Linux 文件权限。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# chmod +x /opt/scripts/long-running-cpu-proc.sh

运行此脚本时,你将获得类似以下的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# sh /opt/scripts/long-running-cpu-proc.sh----------------------------------------------------UName     PID  CMD       Process_Running_Time----------------------------------------------------daygeek  5214  Web       01:18:48daygeek  5748  Web       01:08:20daygeek  8043  inkscape  22:11daygeek  5269  Web       01:18:31daygeek  1712  Web       10:44:50daygeek  5335  RDD       01:17:54daygeek  1639  firefox   10:44:51daygeek  7793  nautilus  24:14daygeek  6301  Web       57:40----------------------------------------------------
2)检查高内存消耗进程在 Linux 上运行了多长时间的 Bash 脚本

该脚本将帮助你确定最大的内存消耗进程在 Linux 上运行了多长时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# sh /opt/scripts/long-running-memory-proc.sh#!/bin/bashps -eo pid,user,ppid,%mem,%cpu,cmd --sort=-%mem | head | tail -n +2 | awk '{print $1}' > /tmp/long-running-processes-1.txtecho "--------------------------------------------------"echo "UName     PID  CMD          Process_Running_Time"echo "--------------------------------------------------"for userid in `cat /tmp/long-running-processes-1.txt`dousername=$(ps -u -p $userid | tail -1 | awk '{print $1}')pruntime=$(ps -p $userid -o etime | tail -1)ocmd=$(ps -p $userid | tail -1 | awk '{print $4}')echo "$username $userid $ocmd $pruntime"done | column -techo "--------------------------------------------------"

给 long-running-memory-proc.sh 设置可执行的 Linux 文件权限。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# chmod +x /opt/scripts/long-running-memory-proc.sh

运行此脚本时,你将获得类似以下的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# sh /opt/scripts/long-running-memory-proc.sh----------------------------------------------------UName    PID   CMD       Process_Running_Time----------------------------------------------------daygeek  1639  firefox   10:44:56daygeek  2997  Web       10:39:54daygeek  5269  Web       01:18:37daygeek  1712  Web       10:44:55daygeek  8043  inkscape  22:17daygeek  5214  Web       01:18:54daygeek  1898  Web       10:44:48daygeek  1129  Xorg      10:45:07daygeek  6301  Web       57:45----------------------------------------------------

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【DB笔试面试608】在Oracle中,如何使用STA来生成SQL Profile?
利用STA对语句进行优化后,STA会对语句进行分析,采用最优的优化策略,并给出优化后的查询计划。可以按照STA给出的建议重写语句。但是,有些情况下,你可能无法重写语句(比如在生产环境中,SQL语句又在一个包中)。这个时候就可以利用Sql Profile,将优化策略存储在Profile中,Oracle在构建这条语句的查询计划时,就不会使用已有相关统计数据,而使用Profile的策略,生成新的查询计划。
AiDBA宝典
2019/09/29
2.8K0
【DB笔试面试608】在Oracle中,如何使用STA来生成SQL Profile?
Oracle 19c 新特性:ADG的自动DML重定向增强读写分离
在前面的文章《Oracle 19c 十大新特性一览》中,我们曾经提到 Oracle 19c的一个重要增强,就是ADG的自动DML转发:
数据和云
2019/03/07
1.4K0
Oracle 19c 新特性:ADG的自动DML重定向增强读写分离
关于权限设置的一个小把戏(r2第27天)
现在有一个需求,需要开放一些"特殊“的权限给开发组。 具体的背景是这样的: 有三个数据库用户,tabowner, tabconn, tab_temp三个用户 tableowner是owner用户,里面存放着表,索引,序列,存储过程等。 tabconn是一个连接用户,在这个用户里面建立了一些同义词,可以直接通过这个用户来进行数据的增删改查。 tab_temp是一个临时的连接用户,通过这个用户只能查询一些有限的信息,不能进行数据的改动。而且不能执行select sequence_name.nextval fro
jeanron100
2018/03/14
5610
ORA-00942: table or view does not exist
      在过程,包,函数,触发器中调用Oracle相关动态性能视图时,需要授予适当的权限,否则会收到表和视图不存在的错误提示。即使你可以单独查询这些视图。因为动态性能视图依赖于底层表,无法直接对其授予权限。下面就是这个现象相关的例子。
Leshami
2018/08/13
2K0
Oracle 18c新特性:Schema-Only 帐号提升应用管理安全性
在 Oracle 18c 中,一个特殊类型的帐号被引入到数据库当中,这特特性被称为 Schema-Only 帐号,这个帐号通过 NO AUTHENTICATION 语句建立,没有密码,也就不允许直接登录,所以这种帐号类型是 纯模式类型。
数据和云
2018/12/07
6630
Oracle 18c新特性:Schema-Only 帐号提升应用管理安全性
SQL基础--> 序列(SEQUENCE)、同义词(SYNONYM)
--=============================================
Leshami
2018/08/07
1.4K0
有关Oracle role的总结
oracle的role算是对sys privilege 和object privilege的打包。 今天深入的测试了下,还算有不少的东西。 role不是schema对象 像table等在一个schema里面不能有同名的schema object,但是可以有同名的table和role,如下。 SQL> conn test1/test1 Connected. SQL> create role testrole; Role created. SQL> create table testrole as select
jeanron100
2018/03/13
1.1K0
【DB笔试面试604】在Oracle中,存储概要(Stored Outline)的作用是什么?
OUTLINE的原理是将调好的执行计划(一系列的Hint)保存起来,然后使用该效率高的执行计划替换之前效率低下的执行计划,从而使得当系统每次执行该SQL时,都会使用已存储的执行计划来执行。所以,可以在不改变已有系统SQL的情况下达到改变其执行计划的目的。OUTLINE方式是通过存储Hint的方式来达到执行计划的稳定与改变。当发现低效SQL之后,可以使用Hint优化它,对于SQL代码可以修改的情况,直接修改SQL代码加上Hint即可。
AiDBA宝典
2019/09/29
1.1K0
【OCP最新题库解析(052)--题49】Examine these facts about a database.
该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。
AiDBA宝典
2019/09/29
4470
【OCP最新题库解析(052)--题36】USER1 grants SELECT, INSERT, and UPDATE p
SQL> REVOKE UPDATE ON user1.emp FROM user1;
AiDBA宝典
2019/09/29
5530
Oracle海量数据优化-01分区的渊源
当我们看到这条语句时,会想到什么呢? 一条再简单不过的按照条件删除数据库的操作。 如果大量存在,会不会引起系统性能问题呢?
小小工匠
2021/08/16
3970
通过闪回事务查看数据dml的情况 (r2笔记69天)
昨天有一个网友问我,怎么能够查询一个表中最后一条插入的记录,我大概回复了,可以通过闪回事务来实现,但是得看什么时候插入的数据,也需要一定的运气。 如果通过闪回事务来得到对应的undo_sql,可能多个dml语句对应一个事务,所以我们需要得到的是一个完整的事务的信息,里面包括对应的Undo_sql,这样才算得到比较完整的sql语句。 我在本地自己做了一个测试。 创建一个test表,然后插入一些记录,然后尝试修改一些数据。 SQL> DROP TABLE TEST; Table dropped. SQL>
jeanron100
2018/03/14
5250
impdp数据泵导入使用table_exists_action=SKIP存在的问题及如何接着导入后续的索引等信息
数据泵已经跑了8个小时了,而且表的数据都已经入库了,就剩后边的索引、约束和触发器等,那难道我还得重新从头接着导入吗?答案不是的,我们有办法,就是结合“table_exists_action=SKIP content=metadata_only sqlfile=index.sql”这几个参数来解决。
AiDBA宝典
2023/04/27
1.9K0
impdp数据泵导入使用table_exists_action=SKIP存在的问题及如何接着导入后续的索引等信息
关于虚拟索引的学习(r3笔记第75天)
昨天简单总结了下不可见索引,今天来说说虚拟索引。 这两个索引听起来有点类似。其实差别还是比较大。 不可见索引有对应的索引段,而虚拟索引没有对应的索引段存在。 不可见索引可以通过alter语句来直接切换可见不可见。而对于虚拟索引而言这些操作都不支持。 不可见索引可以在user_indexes中查到对应的数据字典信息。但是虚拟索引在user_indexes中都没有记录,最后只能从dba_objects里面勉强查到一条它存在的记录。 不可见索引和虚拟索引都有对应的数据库参数,可以通过a
jeanron100
2018/03/15
6930
Oracle 20c 新特性:区块链表的加密HASH以及删除保护
关于 Oracle 20c 区块链表(Blockchain Table),很多朋友表达了强烈的关注,通过一些基本测试,我们能够揭示关于区块链表的工作原理。
数据和云01
2020/04/01
5490
Oracle 20c 新特性:区块链表的加密HASH以及删除保护
Oracle基础维护01-常用管理命令总结
此时,sga和pga自动调整,sga_target最小为4M,pga_aggregate_target最小为1M;
Alfred Zhao
2019/05/24
4600
史上最全-oracle12c pdb迁移实践
Oracle在12c版本引入了多租户的概念,在一个cdb的根容器下可以创建多个pdb供不同用户使用,cdb中主要保存数据库元数据,而pdb中保存用户数据,各个pdb直接不相互影响。Oracle提供了多种方式进行pdb数据库的创建/迁移/克隆,甚至实现了不停机的在线克隆。
数据库架构之美
2019/12/18
2.4K0
史上最全-oracle12c pdb迁移实践
Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化
当所有在Extract 启动之前的开始的交易都完成后,我们就可以使用RMAN 备份生产 端的数据库了。备份数据库的过程中一定要密切监控Extract 进程的状态,保证其一 直正常运行:
星哥玩云
2022/08/18
7160
关于物化视图疑问(32天)
--初始化操作, 创建两个用户一个,testo,一个test. 在testo上创建表,test上创建物化视图。 SQL> create user testo identified by testo; User created. SQL> create user test identified by test; User created. SQL> grant connect,resource to testo,test; Grant succeeded. SQL> grant create materia
jeanron100
2018/03/13
1K0
oracle查看密码修改记录_oracle查询数据库用户密码到期时间
ORA-01920: user name ‘T1’ conflicts with another user or role name
全栈程序员站长
2022/09/19
3K0
推荐阅读
相关推荐
【DB笔试面试608】在Oracle中,如何使用STA来生成SQL Profile?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验