全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2379|回复: 18
打印 上一主题 下一主题

[Windows VPS] 求指点!自己写的PY CPU100%,但Python果然是树莓派原配!

[复制链接]
跳转到指定楼层
1#
发表于 2019-3-18 23:37:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
感谢之前很多大佬领路!愉快的入了树莓派3B,使用体验很好√接了个传感器,自己写了点,但是为啥一直100%占满了1核...

import RPi.GPIO as GPIO
import time

#States File Store Location
ramdisk = "/root/ramdisk0/"

#Init GPIO
def init():
    #No GPIO warnings.
    #GPIO.setwarnings(False)

    #Set mode
    GPIO.setmode(GPIO.BOARD)

    #Set Which Pin
    GPIO.setup(7,GPIO.IN)
    pass

def detct():
    while True:
        curtime = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        #High level
        if GPIO.input(7) == True:
            #Alert and update states file to 1(Triggered)
            alert(curtime)
            writedown('1')
        else:
            writedown('0')
            continue
        time.sleep(2)


def alert(curtime):
    print(curtime + "Senser Triggered.")

#Update Triggered
def writedown(states):
    with open(ramdisk+'human-senser.txt','w+') as f:
        f.write(states)

time.sleep(2)

#Starting Loop
init()
detct()
GPIO.cleanup()


求助为什么这段那么简单的代码能卡住一个核QAQ...写文件的地方还是用了内存盘。

难道GPIO有那么占用资源?还是time.sleep有毒...??还是树莓派就连个sleep都能沾满?
推荐
发表于 2019-3-19 08:20:03 | 只看该作者
            writedown('0')
            continue
        time.sleep(2)
如果没有触发,那么直接continue所以跳过了sleep
2#
发表于 2019-3-18 23:43:12 | 只看该作者
没玩过 帮顶
3#
发表于 2019-3-18 23:48:36 | 只看该作者
虽然看不懂代码,但是我觉得你代逻辑有问题
4#
发表于 2019-3-18 23:50:54 | 只看该作者
Python 本来就是单进程 你一个循环里面才sleep 2  而且树莓派的处理能力毕竟是弱
imes 该用户已被删除
5#
发表于 2019-3-18 23:52:56 来自手机 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
6#
 楼主| 发表于 2019-3-18 23:57:14 来自手机 | 只看该作者
imes 发表于 2019-3-18 23:52
代码逻辑问题,导致一直在IO硬盘。

应该不存在io问题。这里特地是用内存盘来写数据了!
7#
 楼主| 发表于 2019-3-18 23:58:19 来自手机 | 只看该作者
VPSMarket 发表于 2019-3-18 23:50
Python 本来就是单进程 你一个循环里面才sleep 2  而且树莓派的处理能力毕竟是弱  ...

这里应该是sleep了2秒了。还是不够吗QAQ
8#
发表于 2019-3-19 01:29:39 来自手机 | 只看该作者
应该是一硬件垃圾的锅
9#
发表于 2019-3-19 01:34:03 来自手机 | 只看该作者
sleep会导致100%,你可以用threading.Timer,基本上CPU会降到3%以下
10#
发表于 2019-3-19 07:02:43 来自手机 | 只看该作者
问题在continue
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-8 07:27 , Processed in 0.063639 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表