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主机也很卡。

相关推荐
一条咸鱼_SaltyFish20 小时前
远程鉴权中心设计:HTTP 与 gRPC 的技术决策与实践
开发语言·网络·网络协议·程序人生·http·开源软件·个人开发
艺杯羹3 天前
Trae vs. 传统AI编程工具:谁更适合你的开发场景?——深度对比与实战指南
团队开发·个人开发·ai编程·技术选型·开发效率·ai编程工具
灏瀚星空4 天前
基于 Python 与 GitHub,打造个人专属本地化思维导图工具全流程方案(上)
开发语言·人工智能·经验分享·笔记·python·个人开发·visual studio
玉梅小洋5 天前
《游戏设计艺术(第三版)》第一章——锚定设计初心:成为游戏设计师的起点
笔记·游戏·个人开发·游戏策划
艺杯羹5 天前
从“被动建议”到“主动执行”:Trae如何重新定义AI编程?
ai·团队开发·个人开发·ai编程·trae
Mr -老鬼6 天前
移动端跨平台框架的选型指南
经验分享·移动开发·框架·团队开发·个人开发·跨平台
微风中的麦穗7 天前
【VMware 17 Pro】虚拟化工具——VMware 17 Pro 详细图文完全指南:专业虚拟化平台的终极解决方案
个人开发·vmware·虚拟化·虚拟机·运维必备·虚拟化平台·vmware17
进阶的小名7 天前
[超轻量级延时队列(MQ)] Redis 不只是缓存:我用 Redis Stream 实现了一个延时MQ(自定义注解方式)
java·数据库·spring boot·redis·缓存·消息队列·个人开发
2501_918126917 天前
国标麻将一抽胡
前端·学习·html·个人开发