本文前面是在碎碎念,一些实用技巧可以看分割线之后。
在家办公已经过了一个多月了。一开始的时候,真的觉得超级开心,可以自由地决定工作和休息,真正做到work life balance。然而过了不多久我就明白了,程序员真正导致加班的原因从来就不是下班要打卡,而是活真的做不完。
每天身体往那一坐,一天就过去了。以前的时候家里人还觉得我工作应该挺轻松,一天只要对着电脑打字就行。然而当他们真正见到我的工作状态之后,就默默买了几瓶人参糖浆放在我桌子上了。
在家办公我们老大说的挺好,就好像一下子突然从地球搬到了火星,却什么也没有准备。在家办公有很多不便利的地方,比如出了问题不好讨论,比如交流困难。有时候面对面演示一下的问题需要用很多文字来描述。
之前的时候我们前后端配合都是各自写完代码之后要进行本地前后端联调。我把自己的代码上传上去,然后去我们的前端那里把我的项目拷在他电脑上,部署,然后他的vue的项目去请求他自己本地的后端项目。而且他本地是不装数据库的,本地后端连的数据库也是我的本地开发服。由于在公司的时候都是一个网段,所以也很好操作。
在家了以后这些都没法做到,我没法在他的电脑上部署起来我的项目,只能在本地单独开一个项目给他调试。这里有两个很坑的地方,一个是他所有的调试都是在没有打包成dist文件的情况下进行调试的,对应的他的所有调试我的后端请求里也获取不到登录状态。另一个是我没法将项目部署到我自己的服务器中。因为公司项目,很多东西要去访问公司服务器。而我所在网段是无法访问到的,需要用vpn才能连到公司的去,而自己的服务器上不能用VPN。
这就很坑了,我需要在本地开两个vscode,开两个node服务。这就对我的电脑配置产生了极大的考验。要知道,关是开这俩就已经占用了2个g的内存了。而且我在开发中还需要使用chrome、postman、redisManager、MysqlWorkbench等软件。内存都是分分钟爆掉。
我的笔记本是两年前买的,大概是花了六千多还是五千多,忘了。型号是微星GL62M 7RD,配置是
cpu :i7 7700HQ 2.8Ghz
内存:8GB(8GB×1)
硬盘:128GB+1TB
屏幕:1920x1080 FHD,LED背光,TN屏
显卡:NVIDIA GeForce GTX 1050 + Intel(R) HD Graphics 630
键盘:SteelSeries赛睿专业游戏键盘
主板不知道是什么。当时的我就是因为听同学说微星的主板比较稳定所以才买的这个。之前某舟和某革命都买过,他俩修主板的钱让我的大学变得十分贫穷。导致我现在虽然内存有点小,但还是不敢拆开来加内存。。。
这个笔记本买来到现在确实挺耐用的,两年了也没有修过。但是不好的地方在于这个屏幕实在看得眼瞎,模糊到不行;其次就是1050的显卡现在来说确实有点落后了,不过我也完全不玩游戏,所以问题不是很大。
在家办公分为在家和在公司两个时间段。在家的时候我笔记本连的是家里的小米电视来办公。体验还是相当爽的。
后面来到公司宿舍之后已经忍受不了这个笔记本自带的屏幕了,所以下单了一个aoc的屏幕。
我的笔记本自带的Intel集成显卡带不起来这个屏幕,打代码的时候可能是渲染问题老是会页面抖动。但是用n卡的时候老是出问题,显卡驱动装了好多遍,总是崩了,直到现在这一个版本才比较稳定了。
说回电脑卡顿的问题。这几天我经常性地会唤醒电脑管理器,看看电脑跑起来瓶颈出现在了哪里。现总结出来下面一点经验。
从上面第一个图可以看出,我电脑会出现卡顿的原因主要是内存不够用了,所以硬盘的读写时间才会那么高。所以我的第一个想法就是看哪些应用内存过高。
在常用应用里,chrome、postman、vscode都是内存占用挺高的。所以没有用到的情况下尽量关闭。
vscode这里我是完全卸载了再重装才是这么些的。有些插件可能会让你的内存占用一下子飙升。比如这个翻译插件。
好用是好用,但把他开起来直接会提高一百多兆的内存占用。果断关闭了。
其次vscode还有一个地方会影响内存,就是git开启的话会一直扫描刷新,如果过于卡顿,可以在设置中搜索关闭。
百度上有一个比较热门的说启动vscode会有一个reg进程占用内存的,那个我没有遇到过,可能版本不一样。
其次,当我们无可奈何一定会开启这么多应用,内存还是不够用的时候。这时候就要用到虚拟内存了。我笔记本有俩硬盘,一个固态一个机械,而系统默认的设置是将机械硬盘作为虚拟内存的空间。我们知道,固态的随机读写能力是比机械高几十倍的,把虚拟内存调整到固态中也可以增加不少速度。
设置方法:我的电脑->属性->高级系统设置->高级->性能(设置)->高级->虚拟内存(更改)。把机械硬盘的分页文件大小全部设为无。自定义大小可以参考我的设置。不要太大也不要太小。初始大小设置太大可能会使原先流畅的变得更卡。
红框中的按钮记得按,不要光点确定就溜了。
当然,这是内存不够且固态硬盘有剩余空间的情况下才出次下策,现在内存也不贵,一个8g内存也就两百多,提高生产力来说的话不算贵。
别走,在刚才** 我的电脑->属性->高级系统设置->高级->性能(设置)**->高级->虚拟内存
这个步骤中我们还是停留在这个性能(设置)的位置。关闭一些特效也可提高流畅性。
建议设置成我这个样子,不要调整为最佳性能,那样界面真的会丑哭你,还不如卡一点。
我的理解是,动画效果才容易导致不流畅,所以关闭动画就行。我勾选的地方虽然也要渲染,但渲染也就一遍,大部分时间里还是没有用到的。
最后一个要分享的东西是大家可能忽略掉的,日志输出问题。大量的日志输出也是造成卡顿的原因。日志输出实际上是io操作,你在本地开启项目,输出日志是会产生日志文件的,本身硬盘已经作为虚拟内存的情况下,还要留时间来给程序作为io,势必卡顿。可以采用修改日志文件目录、限制日志输出等方式进行调整,这个就具体问题具体分析了。
好了以上就是今天分享的内容,如果觉得有用可以点个关注!一键三连(划掉)