您可以在RAM上创建ramdisks,tmpfs等,以创建用于不同应用程序的分区.
在以下帖子中发布了类似的一个:如何将MongoDB用作纯内存数据库(Redis样式)
MongoDB使用驻留内存来处理热数据.
因此1)使用ramdisk是否复制相同数据的ram用法?
2)有没有办法禁用驻留内存的使用?
编辑:我们可以将托管操作系统视为CentOS或Ubuntu服务器,因为它们是最重要的服务器.
我使用下面给出的Vagrantfile设置为virtualbox配置了vagrant.我可以从主机(HM)连接到虚拟机上运行的Web服务器.
我也可以从网络机器ping服务器,但当我尝试从网络访问Web服务器时,虚拟机(VM)获取请求并说它响应(apache),但网络机器(NM)没有得到回应.
如何配置vagrant或virtualbox从NM访问?我尝试在VM接口文件上将eth1更改为eth0,但它没有用.Vagrant无法放松机器.
提前致谢
Vagrantfile:
config.vm.define "web" do |web|
web.vm.box = "raring"
web.vm.network "public_network", ip: "192.168.0.53", bridge: 'eth0'
web.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 1024]
end
end
Run Code Online (Sandbox Code Playgroud)
主机界面
eth0 Link encap:Ethernet HWaddr 54:04:a6:68:7d:85
inet addr:192.168.0.102 Bcast:255.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:576 Metric:1
RX packets:142100 errors:0 dropped:0 overruns:0 frame:0
TX packets:110704 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:61653460 (61.6 MB) TX bytes:14976111 (14.9 MB)
Interrupt:55 Base address:0xa000
Run Code Online (Sandbox Code Playgroud)
虚拟机界面
eth0 Link encap:Ethernet HWaddr 08:00:27:49:4c:f1
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 …
Run Code Online (Sandbox Code Playgroud) 使用姜饼2.3.4 api lvl 10.
我在启动完成后启动服务.为此,我添加了一个启动服务的广播接收器.我在启动器中使用相同的服务.我试图通过向Intent添加额外的参数来绑定服务.通过广播回复从服务中获取结果.
问题是当它第一次绑定时,会触发服务上的onBind().进一步的绑定不会调用服务上的onBind().我相信问题是服务直接在after_boot启动.当我没有在启动时启动服务并让活动使用Context.BIND_AUTO_CREATE启动它时,它的行为与预期一致.
我想出的唯一解决方案是更改服务的onUnbind()并在服务的onRebind()调用中发出onBind().我不喜欢这个解决方案,因为它可能会破坏以后的Android版本,导致onBind()方法被调用两次.
那么为什么后续绑定不会在启动完成后启动的服务上触发.欢迎任何其他优雅的解决方案.
PS:我已经在aidl中实现了它,但我不喜欢它,因为服务将做一些异步的东西来返回数据,我必须在两个应用程序中添加aidl文件,将添加导致膨胀代码的处理程序.
提前致谢.我的代码片段:
服务的清单:
<intent-filter>
<action android:name="com.organization.android.ACTION_BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="com.organization.android.WORK_INTENT" />
</intent-filter>
</service>
<receiver android:name=".CoreServiceReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
<category android:name="android.intent.category.HOME" >
</category>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
当我绑定到服务时:
Intent intent = new Intent(WORK_INTENT); intent.putExtra("param",param);
context.registerReceiver (broadcastReceiver, new IntentFilter("com.organization.android.WORK_RESULT"));
context.bindService(intent,mConnection, Context.BIND_AUTO_CREATE);
Run Code Online (Sandbox Code Playgroud)
}
当我得到结果时:
context.unbindService(mConnection);
context.unregisterReceiver (broadcastReceiver);
Run Code Online (Sandbox Code Playgroud)