在笔记本上发现电池时间在拔下电源接头时,一段时间内剩余放电时间显示错误的问题,这个问题在很多linux发行版都有存在,但是好像一直没解决,在网上关于这个问题讨论的人也很少,故在此做下总结。
linux中的电源管理大多是由upower来做的,upower是应用层软件,目前最新的版本是UPower-0.99.11。
先说下我的结论,之所以会出现拔下电源一定几率出现剩余时间错误离谱的情况,是因为在拔下瞬间的功率产生变化,会瞬间变极小,而由于upower读取为瞬间,所以可能读到错误的值,剩余放点时间时间 = 总能力 / 功率( time to empty = energy / energy-rate ),由此产生放电时间错误的问题。此问题会在upower的下一次更新恢复正常。
目前upower的更新时间为120s,也就是出现问题后最慢也会在两分钟内恢复。
更新时间可以在upower源码路径**/src/up-daemon.ccalculate_timeout()**中修改,如下:

static guint
calculate_timeout (UpDevice *device)
{UpDeviceLevel warning_level;g_object_get (G_OBJECT (device), "warning-level", &warning_level, NULL);if (warning_level >= UP_DEVICE_LEVEL_DISCHARGING)return 30;return 120;
}

if条件内为在低电量的情况,更新信息时间为30s,电量充足下为120s,只需要修改成欲刷新时间就可以,1-10s目前来看都可以,但是太快或多或少都会对CPU产生影响。

总结:linux笔记本出现该问题的话并非是内核bug,只能算是应用层upower的处理不完善。

关于linux系统笔记本电池的放电时间显示错误的问题相关推荐

  1. linux ps-l命令详解,Linux系统中ps -l命令显示的英文含义

    Linux系统中ps -l命令显示的英文含义 UID:启动这些进程的用户. PID:进程的进程ID. PPID:父进程的进程号(如果该进程是由另一个进程启动的). C:进程生命周期中的CPU利用率. ...

  2. oracle数据库报300006,Oracle归档日志所在目录时间不对Oracle集群日志时间显示错误...

    Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 前言 这个问题在18 ...

  3. Linux系统centos7+VMwareWorkstation创建共享文件夹错误解决方法集锦

    Linux系统centos7+VMwareWorkstation创建共享文件夹错误解决方法集锦 参考文章: (1)Linux系统centos7+VMwareWorkstation创建共享文件夹错误解决 ...

  4. linux系统时间显示错误的是,教你解决linux操作系统时间错误

    您是否还遇到了Linux OS同步错误,但不知道如何自定义它? 这是方法,这是您可以轻松更改Linux OS时间的两种方法. 对于linux操作系统的时间,在没有互联网或者时间同步服务器的话,就算是配 ...

  5. linux下查看进度命令,在Linux系统中使用Coreutils Viewer显示命令运行进度

    Coreutils Viewer(cv)是一个简单的程序,它可以用于显示任何核心组件命令(如:cp.mv.dd.tar.gzip.gunzip.cat.grep.fgrep.egrep.cut.sor ...

  6. linux系统怎么看时间,linux系统如何查看当前时间

    Linux ls命令详解Linux中ls命令用于显示指定工作目录下之内容,其内容就是指定的工作目录所含之文件及子目录,该命令的用法为"ls [参数] [目录名]",其常用参数有&a ...

  7. mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式) Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装My ...

  8. linux系统gettime获取的时间,clock_gettime获取系统时间

    clock_gettime获取系统时间 clock_gettime()是基于Linux C语言的时间函数,他可以用于计算精度和纳秒. 需要包含头文件 #include函数原型为 int clock_g ...

  9. Linux系统中如何修改时间和时区

    目录 一.问题 二.设置时间.日期和时区 1.只设置时间 2.设置日期 3.设置时区 一.问题 在使用linux系统时,有时会遇到系统时间与当地时间存在差异的情况. (1)如果差异较小 相差几分钟.十 ...

最新文章

  1. Mysql for linux 安装
  2. linux utmp结构体,Linux C编程如何使用联机帮助来解决编程问题?
  3. 设计模式笔记二十一:状态模式
  4. python中request方法_如何使用python语言中的request模块获取代码
  5. Flask+Gunicorn(协程)高并发的解决方法探究
  6. 力软敏捷开发框架7.0.6源码
  7. NB-IOT平台之电信平台FOTA 升级记录
  8. 使用SAS实现单因素方差分析
  9. C语言基础(初识C语言)
  10. 代码复现:Copy-Paste 数据增强for 语义分割
  11. 关于海康威视网络摄像机二次开发问题
  12. 深圳多九云优认知能力团体反馈训练系统----认知训练与生物反馈训练合二为一
  13. Telegram Bot Api使用教程
  14. 关于vc 2008 runtime
  15. autohotkey windows画板 Mspaint 快捷键
  16. 病人陈天桥,归来依旧是传奇(转)
  17. Qt/C++ 加载数据库出现qt_sql_default_connection提醒
  18. 打开计算机任务栏有桌面没,开机后桌面没有图标任务栏无显示怎么解决
  19. 高性能计算与高性能计算机讲座笔记
  20. JAVA 对接 声网(agora) 屏幕截图功能实现直播监控

热门文章

  1. Android编译MNN
  2. 管理员管理页面(管理员添加、重置密码)
  3. CSDN每日一练计数问题 C语言
  4. 实验4、黑盒测试:因果图法及测试用例设计
  5. js 获取浏览器高度和宽度值(多浏览器)
  6. 支付-支付宝接口全流程
  7. java 坑_JAVA陷阱---三元表达式潜藏的坑
  8. 2021通信安全员考试及(安全员)模拟考试单选题答案解析
  9. React developer tools调试工具下载及安装教程
  10. 为什么大家想要晋升职称?工程师职称有什么用?