#2021加油带头人#原系统OriginOS Ocean,「内存瘦身」+「内存融合」。
「内存瘦身」能减少一些不必要的进程,把节省出来的内存空间分配给更需要的应用。
「内存融合」最大可实现增加50%的运存。
GC对程序中使用的引用进行分析,并可以丢弃任何不在任何地方使用的对象.
OutOfMemoryException并不意味着内存已经完全耗尽,只是意味着内存分配失败.如果您尝试一次分配一个大内存区域,那么仍然可能会有大量可用内存.
当没有足够的可用内存进行分配时,系统会执行垃圾回收以尝试释放内存.如果仍然没有足够的内存分配,它将抛出异常.
来源:码农网
协议栈首先会分配用于存放一个套接字所需的内存空间,就是OS分配的
高级嵌入式码农聊干货:C程序编译后在内存分配情况【学浪计划】 高级嵌入式码农聊干货:C程序编译后在内存分配情况【学浪计划】 - 今日头条查看图片

安卓的机制果然是开机就占一半运存,甭管你运存有多大,是3G还是4G、6G或者8G、12GB,总要给你占一半甚至70%以上[笑哭][笑哭]
这其实是个正常现象,因为内存本来就是动态分配的。还记得以前安卓2.3时代,手动清后台成了很多朋友的习惯。但是从安卓9.0开始,其实我们不用去手动清后台了,安卓的运存机制已经和iOS有点像了。iOS很早之前是墓碑机制的后台,但是后来也改了。
大家有手动清后台的习惯嘛?
最近,TCL 发布了全新的格物冰箱 Q10。

格物冰箱Q10 看起来是一个大冰箱,但其实它的内部是独立的三系统,可以理解为一个大冰箱里塞下了三个小冰箱。和常见的冰箱不一样,Q10 可以根据自己的需要,自由分配哪个存储区是冷藏室或者冷冻室,这样就不用怕冷藏室或是冷冻室不够用了。
Q10 还支持 GP+ 光电超净技术,通过紫外线和高活性的电子来除菌。在除菌的同时,还能让冰箱里的食物不串味。
格物冰箱Q10 首发价是 8999 元,大家觉得这个价格怎么样呢?
linux系统运行一段时间后,内存逐渐被分配出去,这时申请物理内存,可能就没有现成的空闲内存块了。
就像你去一家餐馆吃饭,到了发现今天是节假日,门口排了很长的队,商家(linux内核)呢,也看到了门口排队的情况,所以派人悄悄观察着各桌的情况,看见饭已经吃完,正在闲聊的,就上去友善的提醒,希望他们可以早点结账走人,给门口排队的顾客腾出位置(通过page reclaim机制回收一部分内存),但这个过程是需要时间的。

大家也都知道,商家正在为提高翻台率努力着。但有的人(__GFP_NOWAIT)就是一秒钟都不愿意等,鬼知道还要多久才有桌位空出来啊。有的人(__GFP_NOTRY)心态很平和,即便这顿饭吃不上也没关系,基本不会去催促商家。有的人(__GFP_RETRY_MAYFAIL,4.7内核之前叫__GFP_REPEAT)会多询问商家几次,但态度也是友好的,不会给商家带来太大压力。
有的人(__GFP_NOFAIL)非常执着,不管等多久,这顿饭非吃不可,在他们的字典里,就没有失败这两个字。那是不是一定不会fail呢?那得看你需要几个空的桌位,一般32KB以下(order小于或等于3,也就是8个桌位),商家都是会尽量满足的(事实上,大部分的内核内存申请都是小于这个值的)。
有的人不光自己排,还会呼朋引伴,比如__GFP_IO,一边等着,一边在微信群里招呼大家过来(触发I/O操作)。__GFP_FS更是,直接在群里at人了(触发文件操作)。你说现在桌位都够紧张了,你们还让更多的人来,这不是添堵嘛,可人家觉得,朋友在一起吃饭有说有笑才热闹嘛。

饭店也不止这一家(NUMA有多个nodes),但有的人(__GFP_THISNODE)只在离家最近的这家店吃,不考虑其他家,嫌远不方便(本地node内存访问更快)。在NUMA系统中,alloc_pages()只会从当前node中分配物理内存,等同于alloc_pages_node(0, gfp_mask, order)。如果要从其他其他node分配,则需直接调用alloc_pages_node(node_id, gfp_mask, order)。
这里列举的只是几种典型风格,大部分普通人(最常见的GFP_KERNEL)往往是这几种风格的组合(__GFP_WAIT | __GFP_IO | __GFP_FS)。
这时,负责疏导道路拥堵的交警(__GFP_ATOMIC)也来了,人手不够,只能换班来吃饭,可不敢等(相当于中断上下文)。不吃也不行,回去还要执行任务呢,扛不住。那可怎么办呢,这要是把交警同志耽搁了,那等会儿不得堵得更厉害啊。还是商家有经验,预留了一部分桌位,专门用于大堂没有空桌的时候,留给这些有紧急需要的人用。

预留区的大小一般是128到65536平方米(KB),可以容纳32到16384个桌位(数值就是zone_struct里的nr_reserved_highatomic)。试想一下假如没有预留怎么办?那商家只能启动OOM killer终极预案,直接赶走几桌不那么重要的客人,那这造成的影响,就太坏了。
说这么多就是为了提醒大家,申请物理内存是可能失败的,所以别忘了做返回值的检查。
#linux# #操作系统# #嵌入式# #程序员# #c语言# #单片机#
总的ram大小减去启动文件里面定义的堆栈大小。启动文件里面的堆栈和freertos的堆不要混淆,是不同的用途,启动文件里面的堆如果不用动态内存分配是可以配置为0的
紫溪地科技请问各位大佬们,就是这个STM32F103C8T6总堆空间的大小,最多可以填写多少呀。--移植freertos操作系统

进程的概念
第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域、数据区域和堆栈区域。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。
进程是操作系统中最基本、重要的概念,是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。
【一直以来,我都认为引用是不分配内存的,结果打脸了】

很久很久以前,久到我刚毕业那会儿,那时候找工作笔试,经常遇到引用与指针区别之类的问题,然后就去百度,大家都说引用只是一个别名,不会引起内存的分配,而指针则需要分配一个空间用于存放这个指针所指向变量的地址,包括看的很多技术书都是这么写的,然后我就一直这么认为了。
但是,老叶之前也整理了一些c++的面试题发在知乎上,其中就包括这个引用和指针的区别,然后就被人怼了,我不服气,这次专门看了下引用的汇编,结果打脸了,原来引用和指针的汇编实现是一模一样的,也会分配一个空间用来存放被引用变量的地址,然后我再去百度,还是充斥着引用不占用内存的文章,哎,水文好多。
这个事实告诉我们:有能力的情况下,最好还是自己去看一下底层的实现,不然分分钟被啪啪啪,打脸呀。

Linux 下的传统 IPC 通信原理:通常的做法是消息发送方将要发送的数据存放在内存缓存区中,通过系统调用进入内核态。然后内核程序在内核空间分配内存,开辟一块内核缓存区,调用 copyfromuser() 函数将数据从用户空间的内存缓存区拷贝到内核空间的内核缓存区中。同样的,接收方进程在接收数据时在自己的用户空间开辟一块内存缓存区,然后内核程序调用 copytouser() 函数将数据从内核缓存区拷贝到接收进程的内存缓存区。这样数据发送方进程和数据接收方进程就完成了一次数据传输,我们称之为一次进程间通信。两次拷贝实现一次进程间的通信。
Android下的Binder 跨进程通信原理: Binder 并不是 Linux 系统内核的一部分,所以不能通过内核支持来实现进程间的通信,得益于 Linux 动态内核可加载模块(Loadable Kernel Module,LKM)的机制;模块是具有独立功能的程序,它可以被单独编译,但是不能独立运行。它在运行时被链接到内核作为内核的一部分运行。这样,Android 系统就可以通过动态添加一个内核模块运行在内核空间,用户进程之间通过这个内核模块作为桥梁来实现通信。发送方进程通过系统调用 copyfromuser() 将数据 copy 到内核中的内核缓存区,由于内核缓存区和接收进程的用户空间存在内存映射,因此也就相当于把数据发送到了接收进程的用户空间,这样便完成了一次进程间的通信。

今日闲来无事便用虚拟机装了个deepin,不敢在电脑上折腾,怕出问题,版本是最新的20.2,下来跟大家简单分享下体验,虽然是虚拟机但是启动还是非常快的,分配了4g内存,几乎感受不到卡顿,但是毕竟是虚拟机,还是觉得不太舒服,日常需要的应用都有,能够满足办公需求,微信,钉钉都有,Linux版本的wps也有,音乐类,视频类的也可有。
可能有人担心Linux的操作不太容易适应,其实是差不多的,大概试用一下就可以了解得差不多,足以应付日常的应用,感兴趣的朋友也可以下载尝试。#Deepin#
Lenovo 联想 T2 个人云存储最高支持达 36TB 的存储空间,可以存储数百万张照片,同时,一台设备也可以创建多个账号,分配给多人共用。T2 采用 SDVN 技术,支持远程访问,还可以自动备份。支持多终端、多系统平台,大幅提升APP的易用程度。

T2 采用四极无刷马达及 92mm 大尺寸静音风扇,保证散热效果的同时最小化噪音干扰(满负荷仅为26.7dB(A))夜间运行,配合定时关机功能,音敏感者也可以安适如常。T2 标配 3.5 英寸西部数据 NAS 专用红盘和 2.5 英寸×2 硬盘位,RAID1 双盘互备,提高读写速度,提高数据的安全性。
T2 外观拥有硬盘指示灯和设备状态指示灯以及开关机按键,接口配置 RJ45 千兆网络接口、USB 3.0 Type-A、USB 3.0Type-C 接口。
联想个人云存储私有云 T2 NAS网络存储服务器双盘位企业家用云储存 移动硬盘西部数据 T2无盘版
IPFS挖矿要注意哪些?
1:Filecoin挖矿收益来源于三大部分:存储、检索和出块奖励,因此是否做好存储和检索矿机的部署、有无挖矿软件二次开发优化,特别是有无根据Filecoin竞价供需关系特性,去研发有智能报价挂单系统以及存储检索任务分配调度系统。在同样硬件和带宽的情况下,这些条件都将对挖矿的收益起到决定性作用的。

2:Filecoin矿工群体有一句共识-“得带宽者得天下”。自己买的矿机一定要有好的带宽资源,因为这直接影响到挖矿收益。如果是决定放到矿机厂商托管,也一定要好好斟酌对方的IDC机房资源,看看是不是在一线城市之类的。
3:对于初级市场,filecoin矿机必须具备性价比高、稳定性强的特质。一方面性价比越高的矿机投资风险越低,回本周期越短,毕竟矿机本质是投资需求大于使用需求,较低的价格能让其投资属性面临的风险降低。另一方面,矿机由于filecoin挖矿特性,需要7*24小时开机,所以对稳定性也有一定的要求。
还有什么需要注意的东西,欢迎矿友留言!
【#广汽本田远程充电专利公开# 】
企查查消息显示,广汽本田汽车研究开发有限公司新专利公开,名为“一种汽车远程充电方法、系统、装置及存储介质”。汽车收到充电指令时,服务器根据请求信息为汽车分配充电车,充电车到达所述汽车的位置进行充电。

心好累:
我准备了mysql,dubbo,redis,zk等各种主流框架的各种八股文原理,然后面试问我:
1.new对象在jvm是怎么做的?加载链接初始化是怎么做的?先分配内存还是先分配指针?
2.=是怎么比较的?内部实现
3.spring的三级缓存名字是啥,Spring注解有哪些@import是啥
等等,好吧,我承认我是个菜鸡,啥都不会
------------------------
这些问题还是比较基础的吧~~~
程序员面试题:MySQL数据库建表为什么不推荐使用uuid作为主键?我们首先分享一下使用主键自增的利弊。
自增的主键的值是顺序的,存储空间是提前分配的,所以Innodb把每一条记录都存储在一条记录的后面。 当增长到最大因子时,会自动扩容。
1、当新的一条数据写入时,数据就会按照顺序的方式加载,主键会顺序填满记录,提升了页面的最大填充率,不会有空间的浪费。

2、新写入的数据一定会在原本最大数据行下一行,数据库引擎能快速定位和寻址,不会为计算新行的位置而做出额外的消耗时间。
3、减少了空间分裂和碎片的产生 ,节约存储空间,让数据更紧凑。
那么,为什么不推荐使用UUID作为主键呢?欢迎大家交流分享。
Steam测试版推出了新版下载与存储管理页面,新的存储管理页面能更直观地看到游戏安装所在磁盘,也能更方便地移动游戏。而新的下载管理页面将显示游戏安装总进度,包括磁盘分配空间过程。此外待处理更新将有一个新图标来表现更新性质,玩家可一眼看到是游戏内容更新还是创意工坊内容更新等。
号称世界上最快的JSON库之一,使用C++编写,接口简单但性能强悍。它采用了直接到内存(direct to memory)的序列化与反序列化,使用恒定时间查询和完美哈希编译时间图,具有接近零的中间分配,并通过JSON指针语法实现直接内存访问。目前最新版本为v0.0.2。

项目地址:https://github.com/stephenberry/glaze
【“天问一号”“电池”团队文昌合影】
“天问一号”火星探测器奔火要经历漫长的跋涉,如何保证该阶段高效率的能源存储和分配,是总体设计部供配电研制团队着重攻关的难题。“天问一号”在飞行过程中要面临极为复杂、恶劣的太空环境,如何在减重等约束性条件下满足探测器对能源的高需求,是研制团队着力解决的问题。
“天问一号”火星探测器由环绕器和着陆巡视器构成。着陆巡视器供配电分系统研制团队从发电、储能、最优功率控制、在轨管理策略等多个角度进行优化设计,突破了多项关键技术难题,其中锂氟化碳电池技术是首次应用在火星探测器的进入舱中。
锂氟化碳电池的储电能力是锂离子电池的两倍,并实现了5kg的减重目标,极大满足了“天问一号”对于轻装配重量、高能量存储的需求,产品属性极为亮眼。
同时,锂氟化碳电池的荷电保持能力极强,在轨长期贮存能力可达10个月。锂氟化碳电池能从容应对温度变化,从近地发射的40℃至火星捕获时的0℃,电池容量衰降率极小。
在具备持久力的同时,电池组还拥有强大的输出能力,在着陆巡视器下降着陆过程中,电池组放电倍率极为可观,将作为进入舱的主能源独立完成着陆巡视器着陆阶段的能源供给。
经过天问一号的星际飞行验证,拥有质量轻、能量密度大、温差适应强等优点的锂氟化碳电池已经展现出巨大的民用潜力,待技术进一步发展完善,也许我们在不久的将来就能看到锂氟化碳动力电池装在电动汽车上,值得期待!
#天问一号# #锂氟化碳电池# #火星探测器#







