Windows下特定应用卡顿问题的分析与解决

目录

一 背景:

二 现象整理:

三 问题分析与验证:


一 背景:

博主最近遇到一件闹心的事:工作中高频使用的一款特定领域应用软件,在最近出现了频繁卡顿的情况。因为没有较好的替代软件,这严重影响了工作效率的提升。为此,本人情绪低落了好一段时间,平时也只好将就使用,并不断尝试各种解决办法。好在经过一番努力,最终解决了卡顿问题。兴奋之余,决定将整个过程复盘一下,另外,想到即便不是通用问题,但是整个分析解决过程,对开拓思路还是有一定作用的。所以,将其发布出来,希望对有类似问题的小伙伴有所帮助。

二 现象整理:

1 最开始,软件可以正常使用。即便涉及到图形图像功能的处理,过程也还算流程。

2 在某一天,分析数据或者拖动图像时,会不断的卡住。这个过程中,如果进行操作,常常显示 “无响应”。相信小伙伴们都遇到过类似问题。常常在大型软件中出现这种情况,此时CPU或者内存或者磁盘的占比会比较高。正常情况下,稍微等待一会,软件功能都会恢复正常。博主用的这款专用软件也是,反应过来后,就可正常使用。但是很快又会卡住。这就不正常了。

3 其他人的电脑使用这款软件是正常的。

4 博主的笔记本电脑使用这款软件也会卡住。最开始还以为是笔记本电脑性能不够,知道桌面PC也出现该问题,意识到可能是系统出问题了。

三 问题分析与验证:

0 此类问题,想都不用想的顺手动作,就是查看任务管理,看看系统或者程序是否CPU占用过高,内存专用过高,磁盘读写是否在疯狂进行。

实际查看,在卡顿时,CPU、内存、磁盘都没有异常情况。其他程序都是正常使用的,没有出现类似的卡顿情况。

1 因为其他人使用软件正常,且之前自己使用也是正常的,所以在上一步没有收获后,感觉最大的怀疑对象就是操作系统。比如,其他人可能都是第一次使用该软件,电脑比较干净。博主电脑最开始是新装系统,也能正常使用。后来是否因为安装系统更新或者某些其他软件,导致该特定软件的使用出现问题?又因为博主笔记本也卡,所以首先怀疑是否是因为安装某些系统更新包导致。

根据大概的时间记忆,博主将最近安装的系统更新卸载了,确保最后一次更新时间之后,软件确实也是正常的。

实际测试,问题仍然存在。

2 怀疑的第二个点是有没有可能是因为最近安装的软件导致?

类似卸载更新,将最近安装的几款软件也卸载了。

实际测试,问题仍然存在。

3 到此,基本排除了系统更新和最近安装软件导致问题的可能性。另外,为了进一步的验证软件的影响,关闭开机自启动的几个软件,然后在不起其他软件的情况下,使用该软件。

实际测试,问题仍然存在。

4 在第一次进入死胡同后,博主努力回应出现问题的时间点前后,电脑做了什么?隐约中记得好像进行过系统清理。莫不是清除了某些不该清除的内容?

博主将软件删除(这是一款绿色软件,不需要安装),重新清理系统,再重新拷贝运行,以此让程序进入一个相对干净的环境。

实际测试,问题仍然存在。

5 怀疑是否是因为病毒原因。安装某杀毒软件,还真检测到木马,清理后,再次测试。

实际测试,问题仍然存在。

6 根据以往经验,程序如果联网,但是网络被改动后导致其无法连接,就可能出现类似卡顿的现象。为此,博主关闭防火墙,修改网络地址等进行测试、

时间测试,问题仍然存在。

7 第二次进入死胡同。到这时,发现常规手段已经不能解决问题,需要进一步的技术手段来分析问题原因。对于技术人员,需要确定软件卡住的时候,到底在做什么。

这个时候,就需要借助一些工具来分析。Windows下自然离不开微软自家的sysinternalsSuite工具集。这个工具不仅能看进程的系统资源占用,还有更详细的任务堆栈。相比传统的任务管理器,要详细许多。

使用该工具查看在软件卡住的时候,有什么异常数据。结果没有收获。

8 此时,回过头再整理一下问题。首先,排除软件本身的问题,原因就不多说了。其次,基本也可以排除系统的原因。最后就剩软件跟系统的配合。因为就只有该软件有问题,其他软件正常,所以很可能是该软件在系统中写了什么东西或者调用了什么东西。考虑到最开始正常,所以可以进一步缩小范围到软件配置了什么或者系统关闭或打开了什么。软件本身是不需要安装的,所以配置基本都在程序文件目录下,系统中安装遗留的配置没有。对于系统打开或关闭什么东西,感觉最可能的是服务。是不是关闭了Windows的什么服务导致问题出现。当然,打开也可能导致。但是Windows服务众多,不可能一个一个检查,否则这过程要花费大把的时间,如果问题不再这里,感觉就亏大了。

是还是要试试的。做好记录。找了一台正常电脑,对界面截屏,进行了一番对比操作。

实际测试,问题仍然存在。基本不被影响。

9 到这里,感觉要放弃了。但一想到重装系统,头就大。就在犹豫之间,想到是不是可以检查一下注册表。会不会是注册表里遗留了什么东西。

此时的心态真的就是瞎子摸鱼碰运气了。打开注册表,搜索软件,数量也不少,但是还好,一条一条过,也就是十分钟的事。不知道有没有专门的工具,可以清理某个应用在注册表里的所有数据。也没心情整这些。在等待别的处理结果的空档期,手动清理该死的注册表。

大部分表项感觉都没啥用,但此时也顾不得那么多,为了加快速度,均是一删了之。突然,一个特殊的表项映入眼帘,最近打开文件列表。查看表项内容,有一条内容引起了我的注意:recentFileList。其中有一个文件是之前访问的NFS目录里的文件。多年软硬件开发的第一感觉告诉我,问题应该就是这里了。

删!

删除后,再次尝试运行软件。结果你都猜到了吧!不会没猜到吧。

YES,不卡了。

就在那一瞬间,整个人跟卸下了千斤担子一样,说不出的轻松。通常这个时候,我都会停了手头的事,随便拿本书翻翻。技术人保留的哪一点快乐之源,我想也就只有在这样的时刻才会开闸泄放。

事后诸葛亮一把。因为最近文件列表里有一个网络文件,但是现在连接不到这个网络,所以软件在执行到与该网络文件有关的操作时,可能就会触发卡顿。笔记本电脑因为测试也访问过该网络地址的文件,所以有了同样的现象,所有之前的现象都可以解释通了。

遗留两个问题:在分析进程的资源占用时,似乎没有看到访问网络的情况;其次,这个软件看着还是比较复杂,性能表现不凡的,一看就是经验丰富的人员开发的,不应该出现访问网络导致阻塞界面的这种常见设计缺陷。所以,问题的根因,与操作系统有关,也不是没有可能。

就写到这里,希望花时间看完全文的你,不觉得空手而归。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙赤子

你的小小鼓励助我翻山越岭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值