Android开发(题外话之虚拟机卡顿)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

我们平常开发嵌入式的时候,一种是keil居多,还有一种就是linux开发、或者是android开发。前者的话,基本安装一下keil软件即可,烧入和调试都是可以的。后者就是需要安装linux系统。目前用的比较多的linux系统,主要还是ubuntu。一来安装比较方便,二来下载软件比较方便。但是最近发现,virtualbox安装ubuntu的时候,如果是比较新的ubuntu,会比较卡顿。

一、目前的virtualbox版本

当前电脑里面的virtualbox版本不算老,也不算新,是6.1,大约是2023年的时候发布的。和最新的virtualbox版本7.1,还是有点不同。

二、6.1版本最适配的os

本身virtualbox对于老的ubuntu适配还是比较好的,比如说早期的14.04、16.04等等。最最稳定的还是20.04,基本都是非常稳定的。只要安装好增强包,和usb扩展包,就可以很舒服的使用ubuntu系统。哪怕ubuntu本身磁盘大小不够,也可以通过添加数据盘的方法解决。

三、新soc搭配新的ubuntu os

目前各个soc厂家都不断推出自己的soc芯片,比如rk系类的3588、3576。其他厂家的soc也是如此。既然是新的soc,那么他们就喜欢用新的ubuntu,来对这些soc做交叉编译。所以在sdk里面,或者是手册里面就会优先推荐比较新的os,来编译这些sdk,比如rk3576,就会优先推荐ubuntu 22.04。

四、新ubuntu os比较容易卡顿

之前一直用virtualbox 6.1 + ubuntu 20.04来开发各个soc,做各种交叉编译,一般也没有什么问题。但是,自从安装了ubuntu 22.04之后,就会发生一个明显的问题,那就是卡死。这种卡死,就是画面完全卡住,完全不能动弹的状态。

比如说,如果虚拟机一直开着,我们在terminal下面做各种操作,这种情况下一般不会有什么问题,最多就是鼠标略微有点拖影。但是如果中途有事,合上了笔记本,再次打开virtualbox虚拟机的时候,就会出现刚才说的界面卡死的问题。而且,这种问题发生的概率特别高,基本一天都要发生好几回。

五、分析和解决

本来想通过安装另外一个virtualbox的方法来解决的,后来提示说一台电脑不能同时安装不同版本的virtualbox。所以,只好继续寻找答案。在一次搜索的时候,提示说是ubuntu 22.04最新的desktop方案和virtualbox不兼容,最好的办法,就是输入用户名密码的时候,选择ubuntu on xorg即可,这样几乎不会出现卡顿了。试了一下,果然如此。

其他的就是常规的配置调整,比如内存分配2G,cpu分配4个core,显存分配48M,显卡控制器用VMSVGA,不要启用3D加速。这样整体的os体验会提高不少。简单来说,就是不要吝啬给虚拟机分配资源,但是也不要分配太多资源,不然host主机也很卡。

相关推荐
00后程序员张2 天前
iOS 打包方式汇总 从 Xcode Archive 到轻量级工具链的 IPA 构建
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2601_9618451523 天前
粉笔行测5000题电子版|pdf|解析
pdf·新媒体运营·github·个人开发·内容运营·规格说明书·极限编程
四六的六24 天前
WebView里跑RAG——浏览器内知识检索增强实战
前端·实战·个人开发·webview·ai大模型·rag·webview内嵌开发
2601_9618451524 天前
行测电子版pdf教材|真题|解析
pdf·新媒体运营·github·个人开发·内容运营·规格说明书·极限编程
本人手速666+24 天前
Codex安装适配国产信创环境的
个人开发·codex
Java知识技术分享24 天前
安装yarn 指南(通过 npm)
个人开发·ai编程·yarn
游戏开发爱好者81 个月前
iPhone真机调试有哪些方法?一次定位推送权限问题时整理出来的几种方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
Java知识技术分享1 个月前
opencode安装ui-ux-pro-max和frontend-ui-ux技能
人工智能·ui·个人开发·ai编程·ux
Ztopcloud极拓云视角1 个月前
我用AI辅助做了一个多端工具:解决2026世界杯回放被剧透的问题
人工智能·windows·个人开发
Jing_jing_X1 个月前
我做了一个 Agent Learning Lab:把 AI 应用开发过程做成白盒实验台
ai·agent·个人开发·ai应用开发