watermark

【原创】(十)Linux内存管理

雨燕双飞 提交于 2020-12-06 02:28:11
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本:4.14 ARM64处理器,Contex-A53,双核 使用工具:Source Insight 3.5, Visio 1. 概述 本文将讨论 memory reclaim 内存回收这个话题。 在内存分配出现不足时,可以通过唤醒 kswapd 内核线程来异步回收,或者通过 direct reclaim 直接回收来处理。在针对不同的物理页会采取相应的回收策略,而页回收算法采用 LRU(Least Recently Used) 来选择物理页。 直奔主题吧。 2. LRU和pagevec 2.1 数据结构 简单来说,每个 Node 节点会维护一个 lrvvec 结构,该结构用于存放5种不同类型的 LRU链表 ,在内存进行回收时,在 LRU链表 中检索最少使用的页面进行处理。 为了提高性能,每个CPU有5个 struct pagevecs 结构,存储一定数量的页面(14),最终一次性把这些页面加入到 LRU链表 中。 上述的描述不太直观,先看代码,后看图,一目了然! typedef struct pglist_data { ... /* Fields commonly accessed by

解决:idea中配置tomcat运行后控制台出现乱码

人盡茶涼 提交于 2020-12-05 15:52:31
解决:idea中配置tomcat运行后控制台出现乱码 问题截图 问题一:1、server出现乱码。 解决方案:1、在 tomcat /conf 目录下,设置 logging.properties , 修改参数 java.util.logging.ConsoleHandler.encoding = GBK,tomcat重启后就可以了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203092509959.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3Mjg4MjYy,size_16,color_FFFFFF,t_70#pic_center 问题二:2、tomcat catalina.log出现乱码 解决方案:2、因为Window平台显示中文采用的GBK编码,IDEA中Log输出采用的是系统设置,即GBK编码。 把Tomcat下日志输出编码改为GBK编码。找到Tomcat安装目录下的conf目录中的logging.properties配置文件。 修改下图所示的编码方式,保存后重启Tomcat。 ![在这里插入图片描述](https://img-blog.csdnimg

腾讯位置服务地图SDK自定义路况和字体

白昼怎懂夜的黑 提交于 2020-12-04 13:35:54
使用场景 自定义路况是用于帮助修改路况的颜色和宽度,因为地图内部字体统一的,如果想要修改样式就可以通过相关文字接口进行定义 核心类和接口 类 接口 说明 TrafficStyle setCongestedStrokeColor 设置路况拥堵的描边颜色 setSeriousCongestedColor 设置路况极度拥堵的颜色 setSeriousCongestedStrokeColor 设置路况极度拥堵的描边颜色 setSlowColor 设置路况慢行的颜色 setSlowStrokeColor 设置路况缓行的描边颜色 setSmoothColor 设置路况畅通的颜色 setSmoothStrokeColor 设置路况畅通描边的颜色 setStrokeWidth 设置路况描边颜色的宽度 setWidth 设置路况填充颜色的宽度 TencentMapOptions setTrafficStyle 设置路况样式 setTypeface 设置自定义字体 核心点讲解 一、设置自定义路况 1、 初始化TrafficStyle并配置相关属性 TrafficStyle trafficStyle = new TrafficStyle(); //设置路况极度拥堵的颜色 trafficStyle.setSeriousCongestedColor(0xff92000a); //设置路况拥堵的颜色

系统重装后,Mysql数据库重装加载原来数据库

巧了我就是萌 提交于 2020-12-04 08:15:31
<div id="article_content" class="article_content csdn-tracking-statistics tracking-click" data-mod="popu_519" data-dsm="post"> <div class="htmledit_views"> <p><span style="white-space:pre;"></span><span style="font-size:24px;">相信不只我一个人因为重新装了系统后,导致mysql数据库无法使用的问题。尽管可以重新安装一个mysql服务端程序在自己的电脑上,但是要如何才能够将之前的数据库也一并重新恢复呢?</span></p> <p><span style="font-size:24px;"><span style="white-space:pre;"></span>今天,我找到了解决之道。</span></p> <p><span style="font-size:24px;"><span style="white-space:pre;"></span>首先,mysql的服务端程序有个data目录,主要是用来存储数据库和数据库中的实体(表等)的信息。</span></p> <p><img src="http://img.blog.csdn.net

基于gRPC的注册发现与负载均衡的原理和实战

不羁的心 提交于 2020-12-03 22:54:26
gRPC 是一个现代的、高性能、开源的和语言无关的通用RPC框架,基于HTTP2协议设计,序列化使用PB(Protocol Buffer),PB是一种语言无关的高性能序列化框架,基于HTTP2+PB保证了的高性能。 go-zero 是一个开源的微服务框架,支持http和rpc协议,其中rpc底层依赖gRPC,本文会结合gRPC和go-zero源码从实战的角度和大家一起分析下服务注册与发现和负载均衡的实现原理 基本原理 原理流程图如下: 从图中可以看出go-zero实现了gRPC的resolver和balancer接口,然后通过gprc.Register方法注册到gRPC中,resolver模块提供了服务注册的功能,balancer模块提供了负载均衡的功能。当client发起服务调用的时候会根据resolver注册进来的服务列表,使用注册进来的balancer选择一个服务发起请求,如果没有进行注册gRPC会使用默认的resolver和balancer。服务地址的变更会同步到etcd中,go-zero监听etcd的变化通过resolver更新服务列表 Resolver模块 通过resolver.Register方法可以注册自定义的Resolver,Register方法定义如下,其中Builder为interface类型,因此自定义resolver需要实现该接口,Builder定义如下

Flink关键技术解析与优化实战

北慕城南 提交于 2020-12-03 22:42:42
作者刘建刚老师 刘建刚 快手软件工程师 现就职于快手数据架构部,当前主要工作为快手Flink平台的研发和维护; 曾就职于百度基础架构部。 本次分享主要分为三部分。首先介绍流式计算的基本概念,然后介绍Flink的关键技术,最后讲讲Flink在快手生产实践中的一些应用,包括实时指标计算和快速failover。 一、流式计算的介绍 流式计算的定义: 流式计算主要针对unbounded data(无界数据流)进行实时的计算,将计算结果快速的输出或者修正。 这部分将分为三个小节来介绍: 第一,介绍大数据系统发展史,包括初始的批处理到现在比较成熟的流计算 第二,为大家简单对比下批处理和流处理的区别 第三,介绍流式计算里面的关键问题,这是每个优秀的流式计算引擎所必须面临的问题。 1、大数据系统发展史 上图是2003年到2018年大数据系统的发展史,看看是怎么一步步走到流式计算的。 2003年,Google的MapReduce横空出世,通过经典的Map&Reduce定义和系统容错等保障来方便处理各种大数据。很快就到了Hadoop,被认为是开源版的MapReduce,带动了整个apache开源社区的繁荣。再往后是谷歌的Flume,通过算子连接等pipeline的方式解决了多个MapReduce作业连接处理低效的问题。 流式系统的开始以Storm来介绍。Storm在2011年出现,具备延时短

Chainlink指南【77个应用场景】

安稳与你 提交于 2020-12-02 16:39:35
Chainlink提供了构建去中心化预言机网络所需的必要开发人员工具,对外部数据的访问为智能合约开启了全新的功能浪潮。本文汇总了77种使用Chainlink预言机网络的方法与实际应用场景,涵盖去中心化金融、外部支付、游戏、保险、企业系统、供应链、工具、身份授权、政府等诸多领域,相信有助于加深学习者对预言机潜力的理解并激发探索的兴趣。 用自己熟悉的语言学习 以太坊DApp开发 : Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart 0、预言机与Chainlink简介 基本上来讲,智能合约定义了两个或多个独立方之间进行价值交换的条款和义务。从历史上看,通常需要一个中央仲裁员来验证是否满足这些条款和条件。但是,由于区块链技术和智能合约应用的出现,我们现在可以用分散的基础架构代替集中式仲裁员,从而降低交易对手风险并提高运营效率。 但是,由于区块链的共识机制,智能合约没有内置功能可与数据提供者和API服务等外部资源进行交互,从而无法验证发生在区块链外部的真实事件的结果。这产生了所谓的区块链预言问题,并且成为区块链上合约的最大限制之一。 为了克服这种缺乏连通性的问题,智能合约使用Oracle作为中间件来检索外部数据输入并将数据输出推送到外部系统。甲骨文不仅充当智能合约和外部世界之间的双向桥梁

HMS Core-IAP特性功能之卡券服务

走远了吗. 提交于 2020-12-02 16:14:06
给新用户送券、充值满额送券、消费满额送券、分享送优惠券…现在越来越多的应用或平台都会通过发布优惠券的活动来拉新、促活。 HMS Core-IAP特性功能之卡券服务中多种类型优惠券的配置丰富了应用所需开展活动的类型,使每一款付费商品都有最适合的优惠方式可以选择,这不仅能够吸引用户使用应用,也增强了用户的购买付费商品的意愿。 下面让我们一起来了解HMS Core-IAP特性功能之卡券服务的具体类型、配置方法和使用体验吧。 一、优惠券的类型: 1、 满减券:满Y减X(Y>X); 适用范围:商品级、应用级、跨应用级、品类级 使用规则:一次使用一张 例:用户有一张已领取的满150减50的华为音乐VIP优惠券,在用户购买金额大于150元的华为音乐VIP服务时,即可使用此优惠券减免50元的费用。 2、 折扣券:对商品的总金额打折; 适用范围:商品级、应用级、跨应用级、品类级 使用规则:一次使用一张 例:用户有一张已领取的8.5折的华为视频VIP折扣券,在用户购买的华为视频VIP服务时,即可在华为视频VIP服务的原价格基础上享受8.5折的优惠。 3、 代金券:面额抵扣支付金额; 适用范围:商品级、应用级、跨应用级、品类级、通用 使用规则:一次可使用多张 例:用户有一张已领取的价值100元的代金券,在可以使用代金券的应用中进行消费时,就能使用一张或多张代金券来进行抵扣,只要在代金券的有效期内

anyRTC 11月SDK更新

那年仲夏 提交于 2020-12-01 14:48:52
anyRTC SDK11月更新,新增多种跨平台SDK支持(Flutter和uni-app)、AI降噪和视频超分功能,Native端新增万能播放器SDK,以及客户端合流推RTMP的功能; 届时anyRTC SDK在互动直播以及音视频互动上提供一条龙服务,无需在集成其他SDK,大大缩减了应用包体积,插入媒体流功能更是让直播更具有可拓展性,适用于一起K歌,一起看电影等场景,音频3A算法改进,性能以及效果达到业界领先水平。 更多详细文档以及anyRTC SDK历史更新内容,可以进入“ anyRTC官网-开发者中心-文档中心 ”查看。 下面为大家详细介绍本月的更新内容; uni-app移动端插件 anyRTC uni-app移动端插件目前只适配了RTC SDK,RTM SDK已经在诞生的路上。uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。因为扩展能力强,学习成本低,所以深受开发者们的喜爱。 uni-app 跨平台SDK应用场景非常广泛,比如在在线教育、在线金融、智能终端、移动执法和交通物流方面都有良好的应用。 Flutter移动端插件 anyRTC Flutter移动端插件目前适配了RTC和RTM SDK,开发者基于anyRTC Flutter SDK可以简单高效的实现跨平台音视频和实时消息功能

华为HMS游戏排行榜请求报错HTTP 502

只愿长相守 提交于 2020-12-01 11:32:45
问题现象: 请求华为HMS游戏排行榜 getRankingIntent 接口后报错如下: 日志信息: 在Android Studio Logcat中查看日志有如下报错: 2020-10-22 11:14:17.831 27218-3850/com.huawei.gameassistant W/HwGameAssistant-10.6.0.301-RequestHelper: client.assistant.gs.leaderboard.scores reponse fail code:502, msg:Bad Gateway 2020-10-22 11:14:17.831 27218-3850/com.huawei.gameassistant E/HwGameAssistant-10.6.0.301-GameRankingScoreListViewModel: getHttpStatusCode is : 502 定位过程: 实际测试游戏登录等功能都是好的,排除测试手机网络问题。研究文档过后尝试了从如下几个方向检查: 首先检查游戏包名和appid是否同属一个游戏,检查后排除此原因; 继续检查该游戏是否已经在华为AGC页面上创建了排行榜数据。检查发现有问题,在AGC页面上创建排行榜时错误地进入到其他游戏页面里了,等于测试的游戏在华为AGC后台没有创建任何排行榜信息