ubuntu配置虚拟内存-jadx多开实例

前言

今天在ubuntu上用jadx打开apk时,第一实例正常,第二部就无法运行,发现内存不足.因此,学了下如何配置虚拟内存解决,报如下错误

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000764880000, 838336512, 0) failed; error='无法分配内存' (errno=12)

win10上我分配的虚拟内存,可运行3个jadx


ubuntu配置虚拟内存-jadx多开实例_第1张图片
win10虚拟内存

参考:

工作笔记-增加swap分区空间-csdn-编译Android全代码会报错空间不足
ubuntu中swap(虚拟内存)设置-segmentfault思否
Ubuntu Linux 设置虚拟内存-csdn

ubuntu配置虚拟内存-jadx多开实例_第2张图片
free -m 查看内存

查看自己的虚拟内存

方法1:free ,默认是以Kb为单位,可以加上参数 -m ,以M显示,其中swap即为虚拟内存.如下,我的已经配置过了 ,是975M.

方法2:top . 这个命令可以看cpu,内存,虚拟内存,以及一些进程(一直滚动显示最新情况).如下:


ubuntu配置虚拟内存-jadx多开实例_第3张图片
top查看

输入df -B M(或df -m)查看各分区当前使用情况

ubuntu配置虚拟内存-jadx多开实例_第4张图片
df -B M查看各个分区情况

fdisk -l查看磁盘分区情况

ubuntu配置虚拟内存-jadx多开实例_第5张图片
fdisk -l

创建一个 Swap 文件

cd ~
mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=100000
#  sudo dd if=/dev/zero of=swapfile bs=1G count=8
#dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
ubuntu配置虚拟内存-jadx多开实例_第6张图片
创建一个 Swap 文件

其中count的大小对应swap的大小,如上述代码所示count=100000为大约100M
注:设置count值时要注意,如果设置swap大小超过硬盘大小,会导致设置完重启后,虚拟机ubuntu的图形界面进不去

把生成的文件转换成swap文件

sudo mkswap swapfile
ubuntu配置虚拟内存-jadx多开实例_第7张图片
把生成的文件转换成swap文件

激活 Swap 文件

sudo swapon swapfile
ubuntu配置虚拟内存-jadx多开实例_第8张图片
image.png

允许su到root

ubuntu配置虚拟内存-jadx多开实例_第9张图片
允许su到root

再次查看 free -m 的结果

发现还是不够大


ubuntu配置虚拟内存-jadx多开实例_第10张图片
再次查看 free -m

删除swap

进入swap文件夹,关闭swap

cd ~/swap
swapoff swapfile

删除文件

rm -r swapfile

创建更大的重来一次(步骤看前面的)


ubuntu配置虚拟内存-jadx多开实例_第11张图片
重新创建更大的
ubuntu配置虚拟内存-jadx多开实例_第12张图片
image.png

说明

如果按上述操作后,重启会失效

你可能感兴趣的:(ubuntu配置虚拟内存-jadx多开实例)