内容简介:开发者必须清醒地认识到,
开发者必须清醒地认识到, 重新启动并不是解决所有问题的方法。
作者 | Mikel
译者 | 王艳妮 , 责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下为译文:
当我们遇到问题时,一个常见的策略是从头开始重新来过。从头重做一遍,可以使我们能够避免可能先前未被注意到的失误,并且能更好地了解问题发生的方式和原因。
在技术领域,这一策略也适用——你的电脑是否运行缓慢或没有响应? 尝试重启计算机;无法运行那个程序? 结束任务然后再重新运行一遍......
让我们来谈谈为什么重新启动计算机是一个如此有效的解决方案吧。
首先,计算机有两种不同类型的存储:
-
非易失性存储器允许用户长期存储数据,即使关闭计算机也不会造成数据丢失,但是这种类型的存储器速度(相对)较慢。比如说硬盘、光盘(CD,DVD或蓝光)或USB。
-
易失性存储器速度非常快,但它需要极高的性能来维持运行。由于其速度快,易失性存储器常被用作计算机的工作存储器。
这种工作内存由操作系统管理,操作系统控制正在运行的进程并为每个进程分配空间。每个进程在此空间中存储它此时正在操作的数据,并从操作系统请求资源(例如更多内存、访问CPU或访问外围设备),当进程不再需要这些资源时必须将其释放。
程序代码中可能会出现错误,导致计算机以不稳定的方式运行:
-
例如,编程中的错误可能导致程序进入死循环,只是在消耗CPU而不做任何事情,并减慢其余进程的速度。
-
其他编程错误集中在资源使用不当上:一个进程请求大量资源,或者随着时间的推移不断发出少量资源的请求但不释放先前获得的资源。最终的结果是其余的进程只有很少的可用资源,必须等到这些资源被释放。尤其,内存管理可能是一个问题频出的领域。除了在不释放内存的情况下囤积内存,进程可能会尝试访问未经请求的或之前已释放的内存。这种错误的访问可以以意想不到的方式修改进程的数据,或者在更极端的情况下,修改其他进程的数据或某些进程的二进制代码。
-
操作系统本身也可能有自己的缺陷,导致资源被永久阻碍而无法被使用或进程已经结束但仍然占用资源。
重新启动计算机是一种“以强制方式”修复工作内存的方法:消除它并从头开始。使用这种方法,没有必要担心问题产生的原因:我们返回到工作内存“正确”的状态,如果导致错误的情境不再发生,那么错误也将不再发生。
因此,重启计算机非常有效,原因有三:
-
因为它可以同时解决不同类型的问题:资源积累、僵尸进程、死循环的程序、内存损坏等。
-
因为我们不需要花时间来诊断问题出现的原因。
-
因为如果错误是由于多个异常情况同时出现才产生,那么重启之后通常这个错误不会再次出现,并且看起来我们已经“修复”了这个问题。
但是,必须记住,重新启动不是解决所有问题的方法。例如,它不能解决硬件问题或消除恶意软件(如果有的话)。如果我们的计算机性能不够强大,要么是我们在启动计算机时运行了太多程序,要么是我们想要使用的程序需要的资源比我们拥有的资源多,这样的话重启也无法消除错误。
原文链接:https://medium.com/@basterrika/why-restarting-the-computer-is-the-solution-to-almost-all-problems-e831f415c010
本文为 CSDN 翻译,转载请注明来源出处。
【END】
作为码一代,想教码二代却无从下手:
听说少儿编程很火,可它有哪些好处呢?
孩子多大开始学习比较好呢?又该如何学习呢?
最新的编程教育政策又有哪些呢?
下面给大家介绍CSDN新成员: 极客宝宝(ID: geek_baby)
戳他了解更多↓↓↓
热 文推 荐
☞敲代码时,程序员戴耳机究竟在听什么?
点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。
你点的每个“在看”,我都认真当成了喜欢
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Golang实现平滑重启(优雅重启)
- SOFAMosn 无损重启/升级
- nginx-平滑重启
- Unbuntu 自动重启MySQL
- Zabbix监控Windows进程重启
- Golang代码修改后自动重启
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux集群体系结构
Alex Vrenios / 马朝晖 / 机械工业出版社 / 2003-1 / 38.00元
本书对Linux集群体系结构的硬件环境组建与其软件开发作了深入细致的介绍。通过阅读本书,可以对Linux集群体系结构有深入的认识,掌握并了解如何设计和构造集群计算机。本书使你了解到开发项目可能遇到的问题,并掌握测试和调整分布式算法。 本书适合计算机系统集成技术人员、管理人员和计算机科研人员作为参考。一起来看看 《Linux集群体系结构》 这本书的介绍吧!
JSON 在线解析
在线 JSON 格式化工具
HSV CMYK 转换工具
HSV CMYK互换工具