18.2. 配置电源管理状态
您可以通过使用以下方法配置电源管理状态来控制电源管理转换:
-
将值写入
/dev/cpu_dma_latency
文件,以微秒为单位更改进程的最大响应时间,并保持文件描述符,直到需要低延迟为止。 -
引用应用程序或脚本中的
/dev/cpu_dma_latency
文件。
先决条件
- 有管理员特权。
流程
通过编写 32 位数字来指定延迟容错,它代表
/dev/cpu_dma_latency
中的最大响应时间,并使文件描述符保持通过低延迟操作打开。0
代表完全禁用 C-state。例如:
import os import signal import sys if not os.path.exists('/dev/cpu_dma_latency'): print("no PM QOS interface on this system!") sys.exit(1) try: fd = os.open('/dev/cpu_dma_latency', os.O_WRONLY) os.write(fd, b'\0\0\0\0') print("Press ^C to close /dev/cpu_dma_latency and exit") signal.pause() except KeyboardInterrupt: print("closing /dev/cpu_dma_latency") os.close(fd) sys.exit(0)
import os import signal import sys if not os.path.exists('/dev/cpu_dma_latency'): print("no PM QOS interface on this system!") sys.exit(1) try: fd = os.open('/dev/cpu_dma_latency', os.O_WRONLY) os.write(fd, b'\0\0\0\0') print("Press ^C to close /dev/cpu_dma_latency and exit") signal.pause() except KeyboardInterrupt: print("closing /dev/cpu_dma_latency") os.close(fd) sys.exit(0)
Copy to Clipboard Copied! 注意Power Management Quality of Service interface (
pm_qos
)接口仅在具有打开文件描述符时才活跃。因此,您用于访问/dev/cpu_dma_latency
的任何脚本或程序都必须保存文件打开,直到允许 power-state 转换。