面试官:讲讲Redis的虚拟内存?

面试复制vm-enabled yes 1.
本文地址:http://www.bzve.cn/html/458a9099451.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
热门文章
- 1探索WoWDK的魅力(WoWDK职业特点揭秘,冰霜与鲜血共舞,征服暗黑世界!)
- 2一款 0 门槛轻松易上手的数据可视化工具
- 3换个角度看世界!用代码了解数学符号
- 42020年4月编程语言排行榜:C语言直逼Java,但Scratch才是本月最亮的星
- 5乐视以旧换新政策解析(乐视以旧换新的优势和限制)
- 6加速函数,每个Python程序员都应该了解标准库的Lru_cache
- 7不写代码,可视化堪比Python,领导满意的报表工具原来是这样的
- 8你知道 JS 中的模块导入有一个缺点吗?
- 9里奥机器人(以里奥机器人为例,探索智能机器人的发展趋势)
- 10N年Python老司机,血泪总结新手常见10大错误
- 11破局成长型企业营销增长,云徙「数盈·新营销中台」发布
- 12低代码开发大势所趋 微软成就“人人都是开发者”
全站热门
Google最近发布了首批能在Chrome OS本地运行的安卓应用集,通过‘安卓运行时’扩展完成了该壮举。现在,一位开发者已经指明了将安卓应用带入桌面版Chrome的路。弗拉德·菲利波夫的chromeos-apk脚本和ARChon安卓运行时扩展手拉手一起开展工作,将安卓应用带进了Windows,Mac和Linux桌面上的Chrome中。运行在Ubuntu 14.04 LTS上的安卓应用:IMDB,Flipboard和Twitter通过‘安卓运行时’运行的应用的性能不是很令人惊异,任何想要运行Dead Trigger 2或者其它图形密集型游戏的雄心壮志可以放到一边了。同样地,要运行官方的‘安卓运行时’的非官方重构包,或者在Chrome OS之外运行的话,其系统完整性(如网络摄像头,扬声器等)可能不完整或者根本不可能。按照下面的指南一步步来,并不保证一定成功。它只能作为高度实验性进行,里面遍布漏洞,很不稳定——甚至白日见鬼。只能出于好奇而尝试,不要高度寄予厚望,这样你就不会深受其困扰。安卓应用转战Linux大法 要通过Chrome在Linux上运行安卓应用,很明显,你需要安装Chrome,要求的版本是37,或者更高。坦率地讲,假如你打算玩玩不稳定的Chrome版本,那么你也可以下载并为Linux安装。假如已经安装了Chrome的某个版本?你可以通过命令行来安装不稳定版,命令如下:sudo apt-get install google-chrome-unstable有了 Chrome 之后,你需要下载定制版的‘安卓运行时’扩展,而不是Google或Chronium提供的版本——由弗拉德·菲利波夫创建的‘安卓运行时’。这个版本和官方的有着诸多的不同,最突出的不同就是它可以运行在桌面版的浏览器上。从BitBucket下载ARChon v1.0下载好‘安卓运行时’扩展后,你需要从.zip解压内容,并移动解压后的文件夹到你的Home文件夹。要安装它,打开Google Chrome,点击汉堡式菜单按钮,然后导航到扩展页。检查‘启用开发者模式’并点击‘加载解包的扩展’按钮。‘安卓运行时’扩展本身不会做太多事情,所以你需要从安卓应用创建兼容包。要完成这项工作,你需要‘chromeos-apk’命令行Javascript工具,它可以从“Node 封装模块管理器(npm )”安装。首先运行:sudo apt-get install npm nodejs nodejs-legacyUbuntu 64位用户?你还需要获取以下库:sudo apt-get install lib32stdc++6现在,运行npm命令来安装该脚本吧:npm install -g chromeos-apk根据你的配置,你可能需要过会儿使用sudo来运行。假如你不喜欢通过sudo安装npm模块,你可以试着骗过它。现在,搞定了。去Google找找你想要试试的应用的APK吧,请牢记不是所有的安卓应用都会工作,而那些可以工作的也未必工作得很好,或者缺少功能。把你想要的安卓APK放到~/Home,然后回到终端中使用以下命令来转换,你可以将APK命名成任何你想要的名字:chromeos-apk replaceme.apk --archon该命令将花一点时间来完成这项工作,也许也就是一眨眼的时间。实际上,不需要眨眼的时间现在,在你的Home文件夹内有个ARChon生成的Chrome APK extension-y folder-y这样的东西。所有剩下来要做的事,就是安装并查看它是否正常工作!回到chrome://extensions页面,再次轻敲‘加载解封装扩展’按钮,但这次选择上面脚本创建出来的文件夹。应用应该会正确安装,但是它确实会没有问题吗?打开Chrome应用启动器或应用页面并启动它来看看是否有问题。由于ARChon运行时支持不限数量的chrome化的APK,你可以反复进行该操作,你想做多少次都行。Chrome APK subreddit用于跟踪成功/失败情况,所以假如你感到很有用,一定要贴出你的结果。谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
热门文章
- 1海盗船H100iV2(一款性的水冷散热解决方案,为您的电脑提供卓越的散热效果)
- 2Python eval 函数构建数学表达式计算器
- 3在异步编程中,你真的懂Promise吗?
- 4我会手动创建线程,为什么让我使用线程池?
- 5CPUN2940(全面解析CPUN2940的特点、性能和应用领域)
- 6适合前端开发和UI设计的20多个优秀ICON 库
- 7Python中Lambda的前4个错误
- 8Python任务调度利器:APScheduler
- 9什么是Kdump?Kdump 是一种的新的crash dump捕获机制,用来捕获kernel crash时候产生的crash dump。Kdump需要配置两个不同目的的kernel,其中一个我们在这里称作standard(production) kernel;另外一个称之为Crash(capture)kernel。standard(production)kernel,是指我正在使用的kernel,当standard kernel在使用的过程中出现crash的时候, kdump会切换到crash kernel, 简单来说,standard kernel会正运行时发生crash,而crash(capture) Kernel 会被用来捕获production kernel crash时候产生的crash dump。捕获crash dump是在新的crash(capture) kernel 的上下文中来捕获的,而不是在standard kernel上下文进行。具体是当standard kernel方式crash的时候,kdump通过kexec(后面介绍)自动启动进入到crash kernel当中。假如启动了kdump服务,standard kernel会预留一部分内存, 这部分内存用来启动crash kernel。kdump机制主要包括两个组件:kdump和kexec kexec是一个快速启动机制,允许通过已经运行的内核的上下文启动一个Linux内核,不需要经过BIOS。BIOS可能会消耗很多时间,特别是带有众多数量的外设的大型服务器。这种办法可以为经常启动机器的开发者节省很多时间。Kexec是实现kdump机制的关键,它包括2个组成部分:一是内核空间的系统调用kexec_load,负责在生产内核(production kernel 或 first kernel)启动时将捕获内核(capture kernel或sencond kernel)加载到指定地址。二是用户空间的工具kexec-tools,他将捕获内核的地址传递给生产内核,从而在系统崩溃的时候能够找到捕获内核的地址并运行。没有kexec就没有kdump。先有kexec实现了在一个内核中可以启动另一个内核,才让kdump有了用武之地。 kdump是一种先进的基于kexec的内核崩溃转储机制。当系统崩溃时,kdump使用kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于kdump利用kexec启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。kdump需要两个不同目的的内核,生产内核和捕获内核。生产内核是捕获内核服务的对像。捕获内核会在生产内核崩溃时启动起来,与相应的ramdisk一起组建一个微环境,用以对生产内核下的内存进行收集和转存。注意,在启动时,kdump保留了一定数量的重要的内存,为了计算系统需要的真正最小内存,加上kdump使用的内存数量,以决定真正的最小内存的需求。kexec和kdump的设计区别:Kexec的设计是用新内核去覆盖原内核位置;而KDUMP是预留一块内存来加载第二个内核(和相关数据),Crash后第二个内核在原位置运行(不然就达不到相关目的了),收集第一个内核的相关内存信息。下面开始试验kdump特性: 操作系统:ubuntu 12.10(3.5.0-17-generic)安装kdump工具复制代码代码如下: 发现安装过程中修改了grub,在引导内核配置上(/boot/grub/grub.cfg)多了如下参数复制代码代码如下: crashkernel用来指定保留内存的大小,我们可以知道crashkernel帮我们设定的保留区域的大小是:假如内存小于384M,不保留内存;假如内存大于等于384M但小于2G,保留64M;假如内存大于2G,保留128M。 复制代码代码如下:下载dbgsym文件,改文件是用来吊事内核信息的文件复制代码代码如下: 重启机器使配置生效。复制代码代码如下:kdump-tools配置(kdump-config show):复制代码代码如下:可以通过sysrq强制系统崩溃。 复制代码代码如下: 这造成内核崩溃,如配置有效,系统将重启进入kdump内核,当系统进程进入到启动 kdump服务的点时,(dump.时间戳文件)将会拷贝到你在kdump配置文件中设置的位置。ubuntu的缺省目录是:/var/crash/时间戳文件夹。然后系统重启进入到正常的内核。一旦回复到正常的内核,就可以在上述的目录下发现dump文件,即内存转储文件。可以使用之前安装的crash工具来进行分析。生成dump文件后/var/crash的目录结构:├── 201305061817复制代码代码如下:出现如下错误提示: crash: cannot resolve: xtime,此时crash的版本为5.1.6,版本太低,调试不了3.5的内核,需要升级crash,可以手动安装crash。
- 10数据分析必备的5款Python爬虫库