找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 23242|回复: 73

[k2p] [已解决】如何在openwrt/pandorabox的首页显示CPU占用?

  [复制链接]
发表于 2017-10-4 20:58 | 显示全部楼层 |阅读模式
本帖最后由 742906680 于 2018-1-9 17:39 编辑

偶然用了x86的openwrt,觉得能显示CPU占用很实用,而且padavan也能显示,所以想在openwrt/pandorabox的首页显示CPU占用。
楼主用的是pandorabox

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2017-10-4 20:58 | 显示全部楼层
一般就在红线的位置,想加一个CPU占用,像软路由一样
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-4 22:05 | 显示全部楼层
  1. uptime | awk -F ":" '{ print $4 }'
复制代码

点评

这个放在哪里  详情 回复 发表于 2017-10-4 22:35
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-4 22:35 | 显示全部楼层
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-10-4 23:45 | 显示全部楼层
weilcen 发表于 2017-10-4 22:05

这条命令具体要加在哪里呢?诚信求教
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-4 23:49 | 显示全部楼层
修改/usr/lib/lua/luci/view/admin_status/index.htm
查找到这一段代码

  1.                 local rv = {
  2.                         uptime     = sysinfo.uptime or 0,
  3.                         localtime  = os.date(),
  4.                         loadavg    = sysinfo.load or { 0, 0, 0 },
  5.                         memory     = meminfo,
  6.                         swap       = swapinfo,
  7.                         connmax    = conn_max,
  8.                         conncount  = conn_count,
  9.                         leases     = stat.dhcp_leases(),
  10.                         leases6    = stat.dhcp6_leases(),
  11.                         wifinets   = stat.wifi_networks()
  12.                 }
复制代码

在这段代码的大括号里面加上一行
  1. cpu_usage  = luci.sys.exec("echo -e `expr 100 - $(top -n 1 | grep 'CPU:' | awk -F '%' '{ print $4 }' | awk -F ' ' '{ print $2 }')`%") or "0%",
复制代码

然后往下走,查找到这一段代码

  1.                         if (e = document.getElementById('loadavg'))
  2.                                 e.innerHTML = String.format(
  3.                                         '%.02f, %.02f, %.02f',
  4.                                         info.loadavg[0] / 65535.0,
  5.                                         info.loadavg[1] / 65535.0,
  6.                                         info.loadavg[2] / 65535.0
  7.                                 );
复制代码

在这一段代码后面添加下面两行

  1.                         if (e = document.getElementById('cpu_usage'))
  2.                                 e.innerHTML = info.cpu_usage;
复制代码

继续往下走,查找到这一行代码
  1. <tr><td width="33%"><%:Load Average%></td><td id="loadavg">-</td></tr>
复制代码

紧跟着一行添加下面这一行代码
  1. <tr><td width="33%">CPU占用率</td><td id="cpu_usage">-</td></tr>
复制代码

然后保存就行了,不需要重启也不需要其他工作

效果:


K2P潘多拉1709实测,其他Openwrt系列固件可能有差异,但道理是一样的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

你说的很对。: 5.0 你说的很对,我赞同你的说法。: 5.0
各位注意一下,第一步源代码里面的 wifinets = stat.wifi_networks() 后面要加英文的逗号 , 下一行再添加层主的代码才能够成功!  发表于 2019-11-25 22:34
你说的很对,我赞同你的说法。: 5
  发表于 2019-11-14 12:04
k2p openwrt实测成功啦,代码没有差异(我是连空格都严格打的  发表于 2019-11-14 12:03
rer
你说的很对,我赞同你的说法。: 5
thankQ~我觉得OK!~  发表于 2019-10-22 12:09
谢谢 已经解决 此楼必须加精!  发表于 2019-7-10 21:39
逗号改一下 成功实现!  发表于 2019-3-10 15:45
你说的很对。: 5
  发表于 2017-10-7 10:25
果然能用了,感谢大神  详情 回复 发表于 2017-10-5 11:42
/usr/lib/lua/luci/dispatcher.lua:381:无法执行条目'/'的功能调度程序目标。 被叫的动作以异常终止: /usr/lib/lua/luci/dispatcher.lua:381:无法对条目“/ admin”执行firstchild调度程序目标。 被叫的动作以  详情 回复 发表于 2017-10-5 09:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 02:27 | 显示全部楼层
楼上大神啊,,,我也想但是看不会,,,
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 05:17 | 显示全部楼层
6喽可以加精了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 09:52 | 显示全部楼层
m0ekr 发表于 2017-10-4 23:49
修改/usr/lib/lua/luci/view/admin_status/index.htm
查找到这一段代码

/usr/lib/lua/luci/dispatcher.lua:381:无法执行条目'/'的功能调度程序目标。
被叫的动作以异常终止:
/usr/lib/lua/luci/dispatcher.lua:381:无法对条目“/ admin”执行firstchild调度程序目标。
被叫的动作以异常终止:
/usr/lib/lua/luci/dispatcher.lua:381:无法执行条目“/ admin / status”的功能调度程序目标。
被叫的动作以异常终止:
/usr/lib/lua/luci/dispatcher.lua:381:无法为条目“/ admin / status / overview”执行模板分派器目标。
被叫的动作以异常终止:
/usr/lib/lua/luci/template.lua:39:无法加载模板“admin_status / index”。
解析模板/usr/lib/lua/luci/view/admin_status/index.htm时出错:
/usr/lib/lua/luci/view/admin_status/index.htm:59:'}'中的语法错误(在第42行关闭'{'在'cpu_usage')
堆栈追溯:
        [C]:在功能'断言'
        /usr/lib/lua/luci/dispatcher.lua:381:在函数'dispatch'
        /usr/lib/lua/luci/dispatcher.lua:95:in function </usr/lib/lua/luci/dispatcher.lua:94>

点评

能贴一下第50行左右的 这部分代码你是怎么修改的吗?  详情 回复 发表于 2017-10-5 10:01
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 10:01 | 显示全部楼层
北方困难群众 发表于 2017-10-5 09:52
/usr/lib/lua/luci/dispatcher.lua:381:无法执行条目'/'的功能调度程序目标。
被叫的动作以异常终止:
...

能贴一下第50行左右的
  1. local rv = {
  2.         ........
  3. }
复制代码

这部分代码你是怎么修改的吗?

点评

可以进了但是CPU那显示乱码  详情 回复 发表于 2017-10-5 10:11
local rv = { uptime = sysinfo.uptime or 0, localtime = os.date(), loadavg = sysinfo.load or { 0, 0, 0 }, memory = meminfo, swap = swapinfo, connmax = con  详情 回复 发表于 2017-10-5 10:06
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 10:06 | 显示全部楼层
m0ekr 发表于 2017-10-5 10:01
能贴一下第50行左右的

这部分代码你是怎么修改的吗?

                local rv = {
                        uptime     = sysinfo.uptime or 0,
                        localtime  = os.date(),
                        loadavg    = sysinfo.load or { 0, 0, 0 },
                        memory     = meminfo,
                        swap       = swapinfo,
                        connmax    = conn_max,
                        conncount  = conn_count,
                        leases     = stat.dhcp_leases(),
                        leases6    = stat.dhcp6_leases(),
                        wifinets   = stat.wifi_networks()
                        cpu_usage  = luci.sys.exec("echo -e `expr 100 - $(top -n 1 | grep 'CPU:' | awk -F '%' '{ print $4 }' | awk -F ' ' '{ print $2 }')`%") or "0%",

                }

点评

倒数第二行wifinets = ..... 最后加一个英文逗号,最后一行cpu_usage = ..... 最后的逗号去掉  详情 回复 发表于 2017-10-5 10:13
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 10:11 | 显示全部楼层
m0ekr 发表于 2017-10-5 10:01
能贴一下第50行左右的

这部分代码你是怎么修改的吗?

可以进了但是CPU那显示乱码
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 10:12 | 显示全部楼层
倒数第二行wifinets = ..... 最后加一个英文逗号,最后一行cpu_usage = ..... 最后的逗号去掉
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 10:13 | 显示全部楼层
北方困难群众 发表于 2017-10-5 10:06
local rv = {
                        uptime     = sysinfo.uptime or 0,
                        localtime  = os.date(),

倒数第二行wifinets = ..... 最后加一个英文逗号,最后一行cpu_usage = ..... 最后的逗号去掉

点评

CPU显示那里乱码如何解决?好像是CPU占用率-这个不能填中文?  详情 回复 发表于 2017-10-5 10:25
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-10-5 10:25 | 显示全部楼层
m0ekr 发表于 2017-10-5 10:13
倒数第二行wifinets = ..... 最后加一个英文逗号,最后一行cpu_usage = ..... 最后的逗号去掉

CPU显示那里乱码如何解决?好像是<tr><td width="33%">CPU占用率</td><td id="cpu_usage">-</td></tr>这个不能填中文?

点评

我刚刚用RT-N16弄完也是显示乱码,原因是我没使用UTF-8的编码,再改正之后就能正常显示中文了  详情 回复 发表于 2018-11-20 22:28
这个就不知道了,其实不应该直接填中文的,应该用i18n翻译,不过那个我不会弄,实在不行你就写个CPU吧  详情 回复 发表于 2017-10-5 11:19
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-23 15:48

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表