wahchdog error

昨天升级了一下archlinux,今天启动的时候发现出现了watchdog error。在arch forum上看到相关的讨论:

https://bbs.archlinux.org/viewtopic.php?id=133083

里面给出了一个fix方案,即禁用mei即可:

echo blacklist mei > /etc/modprobe.d/mei.conf

测试之后有效,error msg的确消失了,但是,普遍的观点是这并不算是一个bug,只要忽略掉就可以了。而且在禁用mei以后,似乎有多人出现了不同情况的其他奇怪问题。不过就现在看来,我的机器上还未出现任何异常。

awesome配置

前几天开始从xfce转移到awesome,为了修改好配置文件,花了2个小时把《programming in lua》这本书快速的翻了一遍。经过几天边学边做,目前的awesome桌面看起来有那么回事了~

主要修改的地方:tag的设置,右上角的电量、网速、CPU、内存和音量监控,以及一些简单的外观修改。

下面记录一点备忘的内容。
» 更多内容 …

shotwell的libraw依赖丢失

今天通过pacman -Qdt删除了一些没用的包,不知道是不是这个原因影响了shotwell的libraw依赖,打开shotwell的时候出现这个问题:

shotwell: error while loading shared libraries: libraw.so.2: cannot open shared object file: No such file or directory

通过pacman重新安装shotwell和libraw都没有效果。找了一下发现libraw.so在/usr/lib下面,不知道是不是删除多余的包的时候把一些link文件删除了,于是分别在/usr/local/lib和/lib下生成libraw的link文件,文件名改为libraw.so.2。后来发现只有在/lib下的有效。

因此简单的解决方法是在/lib中生成libraw.so.2文件link到/usr/lib/libraw.so。我安装的是arch64位系统,shotwell似乎并不依赖于/lib64中的文件,因此在/lib64中生成文件也是无效的。

另外,我的机器上的libraw.so是link到libraw.so.5.0.0的,奇怪的是我通过pacman安装libraw的时候显示的版本号是0.14.3-1,不知道是怎么回事。

在xfce中为gtk3应用使用主题

在xfce下有些使用gtk3的应用的界面无法使用xfce设定的主题,解决方法如下:(来自archlinux论坛)

$ pacman -S gtk3 gnome-themes-standard gtk-xfce-engine
$ ln -s /usr/share/themes/Adwaita/gtk-3.0 ~/.config/

简单的说就是将gtk3的theme的路径链接到~/.config/下即可。Adwaita是标准gnome3主题之一,虽然和我平时使用的Equinox主题差别甚大,但是总比没有主题的好,也就懒得去找专门的gtk3主题。

kernel到2.6.38后不能Power Off的问题

Thinkpad T410i 2518JCK,Archlinux x86_64,kernel 2.6.38

从大约一个星期前将kernel升级到core里面的2.6.38之后就出现无法PowerOff的问题。关机之后停止在[Power Off]状态,无法自动关闭电源。大约2分钟后出现Disabling IRQ #19。

查看dmesg没有找到有效的信息。

archlinux论坛上有2个相关内容:
https://bbs.archlinux.org/viewtopic.php?id=113985&p=2
https://bbs.archlinux.org/viewtopic.php?id=111474&p=2

目前结论倾向于kernel的bug,而且从.37就开始出现。

在官网看到nvidia-173xx and nvidia-96xx removed from [extra](2011/04/15)的消息,因此在昨天用Nouveau代替闭源nvidia驱动,问题未解决。

升级BIOS到最新(2011/02/10),问题未解决。

在BIOS中禁用掉所有无关的设备,包括网卡,fingerprint等,问题未解决。

使用GDM代替slim,问题未解决。

启动init 3,不启动slim,不进入X,终端模式下直接halt -p,问题未解决。

有部分论坛回复说禁用laptop-mode可以解决这个问题,还未尝试。

SHLUG邮件列表中建议降低kernel,作为最后的解决方法,还未尝试。

目前问题未解决中。

—————————-
4月21日补充:

最新的kernel 2.6.38-3没有解决问题,但是禁用laptop-mode后能正常关机。问题暂时解决,但这肯定不是最好的方案。

wacom & wow

终于入手了最便宜的wacom CTL-460/K0-FA手绘板。目前的手绘能力还处于“尚未入门”阶段,买手绘板的目的之一是想要代替鼠标试试,有时候也用来手写记录。但是看起来还不怎么习惯。基于linuxwacom项目的帮助,在archlinux下面的驱动也非常容易,直接通过AUR安装即可。因为只是最低端的Bamboo pen级别的手绘板,目前看来似乎没有什么不可以使用的功能。压感的效果在GIMP里面也非常好用。

最近又开始玩玩wow了。玩得不多,隔几天会上去一会,周末的时候玩了半天。好友里面几乎没人上线。在奥格瑞玛的银行门口居然发现出奇的空旷。也许是上午人会少一点,也许是大家都去台服玩CTM了。但是这么空旷还的确有些不习惯。玩得很慢,半天时间一级都没升。现在还是70级……

找截图的时候找到了之前玩wow的2张图。挺有纪念意义的。也一并贴了上来。一张是第一次也是唯一一次通SW的截图,我是T6全套+T6.5半套的恢复萨满。另外一张是我参加的一次部落保卫战,在联盟:部落的比例是5:1的服,守卫奥格瑞玛是非常困难的一件事。但是那次我们做到了,用2-3队守住了联盟8队长达6个小时的狂轰滥炸,挺骄傲的 ^.^

tp_smapi的问题

tp_smapi我已经安装过3次了,但是每过一段时间就莫名其妙的不工作了,而且找不到smapi目录。开始以为是自己装错了,今天出重装的时候发现下载了新的header,突然想起每次滚动升级的时候都没有特别在意升级了什么内容,估计是每次header升级了就会失效吧。下次升级的时候得注意一点。

顺便将tp_smapi的一些属性记录一下:

电池充电控制

设置开始与停止充电的阀值(百分比)

# echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
# echo 70 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

设置禁止充电时间

17分内防止充电到BAT0(首选电池):

# echo 17 > /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes

取消禁止充电:

# echo 0 > /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes

强制禁止充电(即使接AC):

# echo 1 > /sys/devices/platform/smapi/BAT0/force_discharge

取消强制禁止充电:

# echo 0 > /sys/devices/platform/smapi/BAT0/force_discharge

显示电池状态信息

# cat /sys/devices/platform/smapi/BAT0/installed
# cat /sys/devices/platform/smapi/BAT0/state       #当前的状态, idle/charging/discharging
# cat /sys/devices/platform/smapi/BAT0/cycle_count #循环次数
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity
# cat /sys/devices/platform/smapi/BAT0/remaining_percent
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity
# cat /sys/devices/platform/smapi/BAT0/design_capacity
# cat /sys/devices/platform/smapi/BAT0/voltage
# cat /sys/devices/platform/smapi/BAT0/design_voltage
# cat /sys/devices/platform/smapi/BAT0/manufacturer
# cat /sys/devices/platform/smapi/BAT0/model
# cat /sys/devices/platform/smapi/BAT0/barcoding
# cat /sys/devices/platform/smapi/BAT0/chemistry
# cat /sys/devices/platform/smapi/BAT0/serial
# cat /sys/devices/platform/smapi/BAT0/manufacture_date
# cat /sys/devices/platform/smapi/BAT0/first_use_date
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius
# cat /sys/devices/platform/smapi/ac_connected

顺便再提醒一下我自己,初始化的设置是在/etc/rc.local文件里面,每过一段时间就忘掉了。

一点折腾

前段时间提到终端运行速度变慢的情况,一直都没有查出来,后来查看~/.xsession-error,里面有一万多行的内容,而且大多数都和KDE有关。想起之前为了试试KDE下的一些工具,索性安装了完整的KDE,之后使用起来感觉不习惯,又删掉了部分,但是没有仔细的清除。于是便将KDE的所有内容全部删除,包括Qt和所有依赖Qt的程序。似乎一下就好了。现在再也没有遇到使用终端和vim速度变得很慢的情况。也没有仔细的关注到底是些什么错误,反正现在已经好了~不过说起来,KDE下有不少好用的工具,比如照片管理工具digikam,聊天工具skype,视频编辑Kdenlive,还有最近新出的PPS for linux,都是KDE或依赖Qt的。为啥GTK下的这类工具就这么少呢。。

vim好了,现在又有了新的问题,笔记本的电池似乎并耐用。现在用的原配的6芯电池,满电是96%,还算不错的,按照官方的说法,简单使用的情况下,至少用3、4个小时吧。但是我现在有时候上课带笔记本,只是用用vim,看看网页和文档,2个小时的课程用掉近80%的电量。算下来满电量只能用2个半小时,是因为跑了很多没用服务吗?想来想去,也只有httpd和mysql似乎是平时不一直用的。后来将httpd和mysql默认启动取消,然后将compiz改为使用默认的fvwm,也没有太大的改观。而且现在进X的速度挺慢,差不多10多秒到login,启动slim大概需要5秒,slim到xfce需要约20秒,这不应该吧。。。先记在这里,以后慢慢来查。

说回来,compiz的一些功能,fvwm下都能代替。以前用mac的时候喜欢用expose,但是现在似乎已经更习惯用alt+tab;因为平时用笔记本工作的时间很少,所以多屏幕也是用不上的,算下来,compiz的优势几乎发挥不出来了,改为fvwm也挺好用的。

PPS for Linux

今天看到有说PPS for linux正式出来了,去PPS的网站上看,还只有deb 32bit的版本,晚上回来发现AUR里面已经有64bit的包了,抓下来。嘿,还真的可以运行了。

上个图:

PPS for linux依赖QT,我用的是xfce,基本上只运行GTK+的,PPS在我这里运行的效果不算好,只能说是能用而已。以前用来玩WOW和EVE的机器现在被接在电视上用来专门看PPS,我这里的PPS也就是图个for linux的新鲜罢了。

top & free

昨天机器跑vim觉得有点卡,怀疑是机器的内存不够用。一直都使用的原装2G内存。

用top和free察看了一下机器的状况,顺便学习了一下这两个命令的参数。

top

这是我的机器现在的top状况:

从google搜索到的资料整合我自己的情况,如下:

前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:

  • 10:17:55 当前时间
  • up 2:05 系统运行时间,格式为时:分
  • 2 user 当前登录用户数
  • load average: 0.20, 0.47, 0.42 系统负载,即任务队列的平均长度。

第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:

  • Tasks: 163 total 进程总数
  • 1 running 正在运行的进程数
  • 161 sleeping 睡眠的进程数
  • 0 stopped 停止的进程数
  • 1 zombie 僵尸进程数 (不知道是什么进程)
  • Cpu(s)…. 用户空间占用CPU百分比 (剩余很多,看来我的CPU还是挺强劲的)
  • sy 内核空间占用CPU百分比
  • ni 用户进程空间内改变过优先级的进程占用CPU百分比
  • id 空闲CPU百分比
  • wa 等待输入输出的CPU时间百分比

最后两行为内存信息。内容如下:

  • Mem: 1979784k total 物理内存总量
  • 1489180k used 使用的物理内存总量
  • 490604k free 空闲内存总量
  • 69592k buffers 用作内核缓存的内存量
  • Swap: 4200992k total 交换区总量
  • 0k used 使用的交换区总量
  • 4200992k free 空闲交换区总量
  • 686068k cached 缓冲的交换区总量。

统计信息区域的下方显示了各个进程的详细信息。各列的含义。

  • PID 进程id
  • PPID 父进程id
  • RUSER Real user name
  • UID 进程所有者的用户id
  • USER 进程所有者的用户名
  • GROUP 进程所有者的组名
  • TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
  • PR 优先级
  • NI nice值。负值表示高优先级,正值表示低优先级
  • P 最后使用的CPU,仅在多CPU环境下有意义
  • %CPU 上次更新到现在的CPU时间占用百分比
  • TIME 进程使用的CPU时间总计,单位秒
  • TIME+ 进程使用的CPU时间总计,单位1/100秒
  • %MEM 进程使用的物理内存百分比
  • VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
  • RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • CODE 可执行代码占用的物理内存大小,单位kb
  • DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
  • SHR 共享内存大小,单位kb
  • nFLT 页面错误次数
  • nDRT 最后一次写入到现在,被修改过的页面数。
  • S 进程状态。
  • D=不可中断的睡眠状态
  • R=运行
  • S=睡眠
  • T=跟踪/停止
  • Z=僵尸进程
  • COMMAND 命令名/命令行
  • WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
  • Flags 任务标志

另外,在top运行状态下按o健(小写的o,不是零),可以选择需要显示的列。大写的O健可以选择排序。

从top上看到,似乎可用的内存非常的少了。但是实际上,linux下的内存计算并不是这样的。我们看看free的结果。

free

这是我的机器当前的free结果:
[code language="powershell"]
[tang@thinktang ~]$ free
total       used      free     shared  buffers  cached
Mem:       1979784  1498156  481628      0     72068   689396
-/+ buffers/cache:   736692  1243092
Swap:      4200992       0      4200992
[/code]

第二行(mem):

  • total:总计物理内存的大小。
  • used:已使用多大。
  • free:可用有多少。
  • Shared:多个进程共享的内存总额。
  • Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

  • used:已使用多大。
  • free:可用有多少。

第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别:

这两个的区别在于使用的角度来看,第二行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是 481628k,已用内存是1498156k,其中包括内核(OS)使用 + Application使用的 + buffers + cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存 = 系统free memory + buffers + cached.

结论

因此,我的机器这里可用的内存是:1243092=481628+72068+689396,大约是总内存的60%。2G的内存,在现阶段完全够用了。

但是为什么vim会突然间运行缓慢呢?看来只能另外找原因了。

Hello world

Hi,我是Tang Bin,finalbug.org是我的个人站点。这里有更多关于我的内容。English readers please click here to learn more about me and this site.

Categories