码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [资源占用] CPU GPU


    资源占用

    • CPU
      • 查看基础信息
      • 查看程序对CPU的占用情况
      • 限制CPU
    • GPU
      • 查看基础信息
      • 查看程序对GPU的占用情况
      • 禁用GPU
      • 限制使用GPU(tensorfow)
    • memory
      • 查看基本信息
      • 节省内存
    • 代码后台运行
    • 查询进程

    CPU

    查看基础信息

    命令:lscpu

    CPU(s):              24
    On-line CPU(s) list: 0-23
    Thread(s) per core:  2   # 每个核的线程数
    Core(s) per socket:  12  # 每个座的核数
    Socket(s):           1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    所以上面表示服务器CPU是24核。

    查看程序对CPU的占用情况

    命令: top

      PID USER      PR  NI    VIRT    RES    SHR S  **%CPU**  %MEM     TIME+ COMMAND  
       1400 root      20   0  558160  15340   4108 S   1.0   0.4  31:57.74 barad_a+ 
       1287 root      20   0  982100  67180  29024 S   0.7   1.9  48:55.26 YDServi+ 
         11 root      20   0       0      0      0 I   0.3   0.0   4:35.21 rcu_sch+ 
    
    • 1
    • 2
    • 3
    • 4

    其中如果CPU占用率为160%,表示占用了2个CPU,但是我们有24个,所以资源够用。

    限制CPU

    reference:
    https://geek-docs.com/python-samples/python-utility_script_and_system_manage/python-putting_limits_on_memory_and_cpu_usage.html

    GPU

    查看基础信息

    命令: lspci | grep -i vga

    查看程序对GPU的占用情况

    nvidia可以用命令: nvidia-smi

    禁用GPU

    对于模型推理的程序,可以禁用GPU,只用CPU进行推理。
    在python代码中加入:
    import os
    os.environ[“CUDA_VISIBLE_DEVICES”] = “-1”

    限制使用GPU(tensorfow)

    import tensorflow as tf
    conf = tf.ConfigProto()
    conf.gpu_options.per_process_gpu_memory_fraction=0.1  # 占用的百分数
    session = tf.Session(config=conf)
    
    • 1
    • 2
    • 3
    • 4

    reference: https://www.codenong.com/55531944/

    memory

    查看基本信息

    命令: cat /proc/meminfo
    显示:

    MemTotal:        8024328 kB
    MemFree:         3007456 kB
    MemAvailable:    4911184 kB
    Buffers:           94636 kB
    Cached:          2464528 kB
    
    • 1
    • 2
    • 3
    • 4
    • 5

    可以看到总内存为8GB。

    节省内存

    reference:
    https://blog.csdn.net/PolarisRisingWar/article/details/124445212
    https://www.jb51.net/article/167344.htm

    代码后台运行

    命令:
    nohup python ./webapi.py >/dev/null 2>&1 &
    description:
    nohup运行命令可以使运行的命令永久的执行下去,和用户终端没有关系,可以在你退出帐户/关闭终端之后继续运行相应的进程。例如我们断开SSH连接并不会影响他的运行(注意:nohup没有后台运行的意思,&才是后台运行)
    &是指在后台运行,当用户退出(挂起)、关闭终端的时候,后台运行的这条命令也会退出
    /dev/null表示垃圾桶的意思,类似windows的回收站
    2表示错误输出,1表示标准输出,>表示重定向
    所以2>&1连起来就是:将错误输出重定向到标准输出

    查询进程

    ps -aux | grep xxx.py   # 查询***进程的详细信息;
    
    • 1
  • 相关阅读:
    阿洛迷茫后的思考
    企企通成功入选「亿欧EqualOcean 2022 中国SaaS 50强」榜单!
    蓝桥杯(修建灌木 C++)
    母婴店做微信小程序开发的重要性
    从零入门AI生图原理(一)(Datawhale X 魔搭 AI夏令营)
    广州蓝景分享—14个非常实用的CSS属性技巧
    PD快充芯片IP6566 遥遥领先 集成多种快充协议车充SOC芯片 支持CV/CC模式
    重庆理工大学小自考本科费用一般是多少?
    Android Framework通信:Binder
    嵌入式Linux应用开发-文件 IO
  • 原文地址:https://blog.csdn.net/weixin_46870583/article/details/127736413
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号