查看进程跑了多长时间

ps -p 1504192 -o etime
用linux ps查询进程的开始时间

ps命令常用用法(方便查看 系统进程)

1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
2)ps -A 显示所有进程。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。 www.2cto.com
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t<终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u  以用户为主的格式来显示程序状况。
13)ps x  显示所有程序,不以终端机来区分。
最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

常用参数:
-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式 www.2cto.com
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行

ps -eo lstart 启动时间

ps -eo etime 运行多长时间.

ps -eo pid,lstart,etime|grep pid
例:ps -eo pid,lstart,etime|grep 4559

参考:https://blog.youkuaiyun.com/alibert/article/details/54800037

在使用Python多进程运行长时间脚本时,内存和CPU占用高是一个常见的问题。以下是一些解决内存和CPU占用高的方法: ### 1. 使用进程池 使用`multiprocessing.Pool`可以有效管理进程数量,避免创建过多的进程导致资源耗尽。 ```python from multiprocessing import Pool def long_running_task(x): # 你的长时间运行的任务代码 return x * x if __name__ == '__main__': with Pool(processes=4) as pool: results = pool.map(long_running_task, range(10)) print(results) ``` ### 2. 定期清理和释放内存 在任务执行过程中,定期清理不需要的变量和释放内存。 ```python import gc def long_running_task(x): # 你的长时间运行的任务代码 result = x * x # 清理不需要的变量 x = None return result # 强制垃圾回收 gc.collect() ``` ### 3. 使用生成器 使用生成器可以减少内存占用,因为它们按需生成数据而不是一次性加载所有数据。 ```python def generate_data(n): for i in range(n): yield i def long_running_task(x): # 你的长时间运行的任务代码 return x * x if __name__ == '__main__': results = map(long_running_task, generate_data(10)) print(list(results)) ``` ### 4. 使用内存分析工具 使用内存分析工具如`memory_profiler`来检测内存泄漏和优化内存使用。 ```python from memory_profiler import profile @profile def long_running_task(x): # 你的长时间运行的任务代码 return x * x if __name__ == '__main__': results = map(long_running_task, range(10)) print(list(results)) ``` ### 5. 限制CPU使用率 使用`psutil`库来限制CPU使用率,避免脚本占用过多的CPU资源。 ```python import psutil from multiprocessing import Pool def long_running_task(x): # 你的长时间运行的任务代码 return x * x if __name__ == '__main__': p = psutil.Process() p.cpu_affinity([0]) # 限制CPU使用率 with Pool(processes=4) as pool: results = pool.map(long_running_task, range(10)) print(results) ``` 通过以上方法,可以有效降低多进程时间运行脚本的内存和CPU占用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值