寻找有关 OpenWRT 系统的一些内存建议。
我有一个 SKW71 模块(ar9331 cpu)。它有 16Mb 闪存和 512Mb ddr2 RAM。该系统的图像不存在。因此,我通常为 WR703N(4Mb 闪存,32Mb RAM)安装了 OpenWRT 映像。一切似乎都运作良好。尽管我意识到我可能需要在某个时候构建一个专用图像。
现在我想验证操作系统是否正在使用所有可用的硬件资源。
从 mtd 分区中我可以看到闪存已被完全使用。请参阅下面的命令。我确实获得了总计 16Mb 的 art + 固件 + u-boot。很好。
我对 RAM 有更多的好奇。这一页指出 /tmp 最多为 ram 大小的 50%。然而根据 df 命令我只达到了 30Mb 左右。这与我预期的 256Mb 相差甚远。
如何检查 RAM 的分配和使用情况?
我应该能够为我的 /tmp 申请更多内存吗?
如果是这样我该如何改变这个?
下面的一些命令。 df / mtd / 内存信息
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 12.6M 812.0K 11.8M 6% /
/dev/root 2.3M 2.3M 0 100% /rom
tmpfs 29.9M 152.0K 29.7M 0% /tmp
/dev/mtdblock3 12.6M 812.0K 11.8M 6% /overlay
overlayfs:/overlay 12.6M 812.0K 11.8M 6% /
tmpfs 512.0K 0 512.0K 0% /dev
root@OpenWrt:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot"
mtd1: 0010c4d0 00010000 "kernel"
mtd2: 00ec3b30 00010000 "rootfs"
mtd3: 00c90000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 00fd0000 00010000 "firmware"
root@OpenWrt:~# cat /proc/meminfo | head
MemTotal: 61228 kB
MemFree: 41472 kB
MemAvailable: 47576 kB
Buffers: 1880 kB
Cached: 6224 kB
SwapCached: 0 kB
Active: 6172 kB
Inactive: 3948 kB
Active(anon): 2120 kB
Inactive(anon): 48 kB
7个月后编辑。仍在寻找解决方案。我进入 uboot 并可以清楚地看到它使用 64MB RAM。看来现在就只能用这种方式来调查了。
BOARD: TP-Link TL-WR703N v1
SOC: AR9330 rev. 1
CPU: MIPS 24Kc
RAM: 64 MB DDR2 16-bit CL3-4-4-10
FLASH: 16 MB Winbond W25Q128
MAC: 28:A1:EB:FD:1A:FF
CLOCKS: CPU/RAM/AHB/SPI/REF
400/400/200/ 25/ 25 MHz
答案1
从你的 meminfo 来看,MemTotal 是 61228kB,OpenWRT 只能识别 64kB。我怀疑 64kB 是经过编码的,RAM 没有被扫描到。