遭遇Device Association Service占用CPU和内存过高异常

2024-06-05 20:20

本文主要是介绍遭遇Device Association Service占用CPU和内存过高异常,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.异常描述

        在蓝牙设备搜索和配对过后,系统界面卡住了,查找了下任务管理器,发现有一个主机服务占用了过多的CPU和内存,且不断的在增长。截图如下:

         百度查了下,Device Association Service是一个Win10系统服务,支持系统与有线或无线设备之间的配对。

Device Association Service - Windows 10 Service - batcmd.com

        Device Association Service - Windows 10 Service

        Enables pairing between the system and wired or wireless devices.

2.解决办法

        参考博文:Device Association Service占用CPU - 解决方案-CSDN博客

        由于Device Association Service服务与蓝牙有关,在解决问题前需要确保蓝牙和无线网卡驱动正常运行,若驱动异常则建议重装或更新驱动。此服务占用大量CPU的异常状态很可能是由于旧蓝牙驱动和旧蓝牙设备的卸载残留导致,只需将旧蓝牙驱动和旧蓝牙设备完全清除即可,操作步骤如下:

方法1.手动卸载蓝牙设备:

        Windows+X打开设备管理器,展开蓝牙选项。 

         发现一大堆的蓝牙设备,蓝牙LE通用属性服务、设备信息服务、通用访问配置文件等等。         

        右键,点击卸载设备。

方法2.批量卸载

        蓝牙命令行工具是一套适用于 Microsoft Windows 的命令行实用程序,可用于配置蓝牙适配器、发现远程蓝牙设备和服务、将文件传输到支持 OBEX 的设备。所有实用程序都可以作为批处理脚本或其他自动后台进程的一部分调用,或者从 Windows 命令提示符手动启动。目前该套件中有七个实用程序:

  • BT信息

        显示有关已安装的蓝牙适配器的信息。输出格式可以定制。(更多信息和btinfo使用示例...)

  • BT配置

        修改本地蓝牙无线电的友好名称和设备类别(台式机、笔记本电脑、服务器)。打开或关闭发现。关闭或禁用传入的蓝牙连接。(更多信息和btconfig使用示例...)

  • BT发现

        发现远程蓝牙设备和服务。(更多信息和btdiscovery用法示例...)

  • BT配对

        与远程蓝牙设备进行配对。(更多信息和btpair使用示例...)

  • BTOBEX

        将文件发送到支持 OBEX 的远程设备(计算机、移动电话等)。(更多信息和btobex使用示例...)

  • BTFTP

        使用 OBEX 文件传输配置文件与远程蓝牙设备交换文件。(更多信息和btftp使用示例...)

  • BTCOM

        启用或禁用远程蓝牙服务,操作蓝牙 COM 端口。(更多信息和btcom使用示例... 

step1.下载安装工具 

         使用工具Bluetooth Command Line Tools命令行工具卸载。工具下载地址:

Bluetooth command line tools - work with bluetooth from the command line

        下载安装包,然后安装好。 

         安装时记得勾选添加到环境变量路径path。"Add Bluetooth Command Line Tools directory to path"选择框选择勾选。

        readme.txt中找到关于btpair命令的使用说明如下:

btpairBluetooth device pairing utilityusage:btpair {-p[PIN] | -u} [-bBluetoothAddress | -nFriendlyName]-p  Pair your computer with remote device using specified PIN code.If no pin specified, the default ('0000') is used.-u  Unpair remote device.-b  Bluetooth address of remote device in (XX:XX:XX:XX:XX:XX) format.-n  Friendly name of remote device.-h  Prints this help screen.Note:Usually pairing is not enough for the remote bluetooth device to function properly.One ore more remote bluetooth services should be enabled using "btcom" utility.samples:1. Pair your computer and device named "Nokia 6300" using PIN code 1234 :btpair -n"Nokia 6300" -p12342. Unpair all remembered devices: btpair -u

        btcom命令使用说明如下:

 step2.打开命令行输入 btpair -u,回车执行

         需要花费一点时间,中途我打开设备管理器查看,确实少了很多。但是BLE设备还是没有卸载掉,原来我们下载的是经典蓝牙命令行工具。

3. 关于Bluetooth LE(Low Energy) tools for Windows 10)

        Bluetooth LE(Low Energy) tools for Windows 10)没有下载包。Coming soon (February 2017),都2024了,还没有这个工具呢?尴了个尬了呀!

Bluetooth command line tools - work with bluetooth from the command line

 系统要求:windows 10

  • Windows 10 (x86, x64)
  • Microsoft bluetooth stack compatible Bluetooth adapter with Low Energy support (Bluetooth 4.0 or higher)

        

这篇关于遭遇Device Association Service占用CPU和内存过高异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034080

相关文章

C++对象布局及多态实现探索之内存布局(整理的很多链接)

本文通过观察对象的内存布局,跟踪函数调用的汇编代码。分析了C++对象内存的布局情况,虚函数的执行方式,以及虚继承,等等 文章链接:http://dev.yesky.com/254/2191254.shtml      论C/C++函数间动态内存的传递 (2005-07-30)   当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道。 文章链接:http://dev.yesky

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

java中查看函数运行时间和cpu运行时间

android开发调查性能问题中有一个现象,函数的运行时间远低于cpu执行时间,因为函数运行期间线程可能包含等待操作。native层可以查看实际的cpu执行时间和函数执行时间。在java中如何实现? 借助AI得到了答案 import java.lang.management.ManagementFactory;import java.lang.management.Threa

Docker启动异常

报错信息: failed to start daemon: Error initializing network controller: error creating default "bridge" network: cannot create network b8fd8c684f0ba865d4a13d36e5282fd694bbd37b243c7ec6c9cd29416db98d4b (d

Android SurfaceFlinger——图形内存分配器(十一)

前面的文章中的图层合成器(HWC),这里我们接着看一下 SurfaceFlinger 中的另一个重要服务——图形内存分配器。 一、简介         android.hardware.graphics.allocator@2.0 是 Android 系统中硬件抽象层(HAL)的一个组件,专门用于图形内存的分配和管理。它是 SurfaceFlinger 在处理图形数据时所依赖的

tomcat端口被占用如何解决

转载:https://www.cnblogs.com/demon09/p/9248445.html

逆向学习汇编篇:内存管理与寻址方式

本节课在线学习视频(网盘地址,保存后即可免费观看): ​​https://pan.quark.cn/s/3ceeb9ae6d98​​ 在汇编语言的世界中,内存管理和寻址方式是构建程序的基础。理解这些概念不仅对于编写高效的汇编代码至关重要,也是进行逆向工程分析的关键技能。本文将深入探讨内存管理的基本原则和多种寻址方式,并通过代码案例来展示它们的实际应用。 1. 内存管理 内存管理涉及如何分配

段,页,段页,三种内存(RAM)管理机制分析

段,页,段页         是为实现虚拟内存而产生的技术。直接使用物理内存弊端:地址空间不隔离,内存使用效率低。 段 段:就是按照二进制文件的格式,在内存给进程分段(包括堆栈、数据段、代码段)。通过段寄存器中的段表来进行虚拟地址和物理地址的转换。 段实现的虚拟地址 = 段号+offset 物理地址:被分为很多个有编号的段,每个进程的虚拟地址都有段号,这样可以实现虚实地址之间的转换。其实所谓的地

问题1,PE文件转到内存中出现解析PE不正确的问题

1,使用fopen(FileName, “r”) r的方式读取文件到内存,此时就可能存在问题了,r以只读方式,有时候不表示字符的有可能就不读了,那么内存中就不会是完整的原始文件。所以此时要采用rb,二进制读取的方式。 bool ReadFileToMem(char* FileName, char**buf) { FILE* f; f = fopen(FileName, “rb”); if