[clfswm-devel] clfswm in different environments
Philippe Brochard
pbrochard at common-lisp.net
Fri Feb 25 16:02:07 UTC 2011
Desmond O. Chang writes:
> On Tue, Feb 22, 2011 at 20:11, Philippe Brochard
> <pbrochard at common-lisp.net> wrote:
>> Maybe you have to clear all .fas and .lib files built with the old
>> clisp. You may have to do the same with the directory ~/.cache/common-lisp/...
>> before building clx and clfswm.
>> In all cases, when something goes wrong with CLX, start with a fresh
>> source directory and clear your cache.
>
> I think I know why. The fas files compiled with new clx cannot be
> used with portable clx and vice versa. Is it a bug?
>
Yes that's right. And it's even worse with a mix between ecl and clisp
because they share the same .fas extension but the file format is
completely different.
And I don't think it's a bug. More a lose of feature. It's just that
asdf can't know when you've changed your implementation. We can't even
know which clx we are using while clisp is running. So clear your cache
each time you change your clx.
>> SBCL takes a lot more memory than clisp. _Maybe_ you have some swap
>> problems. Can you search the cpu and memory used by clfswm with sbcl?
>
> I use 'ps -eo pid,%cpu,%mem,rsz,cmd|grep sbcl' to get the following
>
> # after startup
> 1729 4.7 6.7 33972 sbcl --eval (asdf:load-system :clfswm) --eval
> (clfswm:main) --eval (quit)
> # after freezing
> 1729 1.9 8.5 43176 sbcl --eval (asdf:load-system :clfswm) --eval
> (clfswm:main) --eval (quit)
>
I got this on my box with sbcl:
# After startup
15462 12.3 2.1 42936 /home/phil/Lisp/local/sbcl-1.0.46/local/bin/sbcl --core /home/phil/Lisp/local/build/sbcl-clx-cffi.core --load load.lisp
# After 10 minutes
15462 1.3 2.3 47760 /home/phil/Lisp/local/sbcl-1.0.46/local/bin/sbcl --core /home/phil/Lisp/local/build/sbcl-clx-cffi.core --load load.lisp
With clisp-2.49/portable-clx:
# At startup
16153 15.3 0.4 9016 /usr/lib/clisp-2.49/base/lisp.run -B /usr/lib/clisp-2.49 -M /usr/lib/clisp-2.49/base/lispinit.mem -N /usr/share/locale load.lisp
# After 5 minutes
16153 1.4 0.4 9016 /usr/lib/clisp-2.49/base/lisp.run -B
/usr/lib/clisp-2.49 -M /usr/lib/clisp-2.49/base/lispinit.mem -N /usr/share/locale loa
With cmucl and its clx:
# At startup
18234 14.7 1.6 32508 /usr/lib/cmucl/bin/lisp -load load.lisp
# After 5 minutes
18234 3.3 1.6 33300 /usr/lib/cmucl/bin/lisp -load load.lisp
And with my currently running clfswm session clisp-2.49/portable-clx
(I've added a time parameter)
3743 0.4 0.5 11532 01:46:19 /home/phil/.cache/clfswm//clfswm-3355498365.core --
The conclusion I can find is that I see sbcl is using more memory on
your box than on mine (don't know if this is relevant) but the cpu usage
is better on your box.
Maybe you can have more instantaneous informations with top.
And clisp is surely a better option for you.
How do you see that clfswm is freezing? If this is when you move a frame
or a window, the freeze maybe normal as this is a cpu intensive
action. Maybe the gc comes in action (maybe something consing to
mush). I'll take a look.
>> Also, Flash is known to use 100% of the cpu.
>> What hardware are you running clfswm on?
>
> # lshw -short
> H/W path Device Class Description
> ===========================================================
> system HP 520 Notebook
> PC(GH632AA#AB2) (GH632AA#AB2)
> /0 bus 30D5
> /0/0 memory 128KiB BIOS
> /0/4 processor Genuine Intel(R) CPU
> T2050 @ 1.60GHz
> /0/4/5 memory 64KiB L1 cache
> /0/4/6 memory 2MiB L2 cache
> /0/4/0.1 processor Logical CPU
> /0/4/0.2 processor Logical CPU
> /0/a memory 512MiB System Memory
> /0/a/0 memory 512MiB SODIMM DDR2
> Synchronous 667 MHz (1.5 ns)
> /0/a/1 memory SODIMM DDR2 Synchronous [empty]
> /0/100 bridge Mobile 945GM/PM/GMS,
> 943/940GML and 945GT Express Memory Controller Hub
> /0/100/2 display Mobile 945GM/GMS,
> 943/940GML Express Integrated Graphics Controller
> /0/100/2.1 display Mobile 945GM/GMS/GME,
> 943/940GML Express Integrated Graphics Controller
> /0/100/1b multimedia N10/ICH 7 Family High
> Definition Audio Controller
> /0/100/1c bridge N10/ICH 7 Family PCI
> Express Port 1
> /0/100/1c.1 bridge N10/ICH 7 Family PCI
> Express Port 2
> /0/100/1c.1/0 wlan0 network PRO/Wireless 3945ABG
> [Golan] Network Connection
> /0/100/1d bus N10/ICH 7 Family USB
> UHCI Controller #1
> /0/100/1d.7 bus N10/ICH 7 Family USB2
> EHCI Controller
> /0/100/1e bridge 82801 Mobile PCI Bridge
> /0/100/1e/6 bridge CB1410 Cardbus Controller
> /0/100/1e/8 eth0 network 82562ET/EZ/GT/GZ -
> PRO/100 VE (LOM) Ethernet Controller Mobile
> /0/100/1f bridge 82801GBM (ICH7-M) LPC
> Interface Bridge
> /0/100/1f.1 scsi4 storage 82801G (ICH7 Family)
> IDE Controller
> /0/100/1f.1/0.0.0 /dev/cdrom1 disk RW/DVD GCC-C10N
> /0/100/1f.2 scsi0 storage 82801GBM/GHM (ICH7
> Family) SATA AHCI Controller
> /0/100/1f.2/0.0.0 /dev/sda disk 80GB Hitachi HTS54168
> /0/100/1f.2/0.0.0/1 /dev/sda1 volume 6196MiB Linux
> filesystem partition
> /0/100/1f.2/0.0.0/2 /dev/sda2 volume 68GiB Extended partition
> /0/100/1f.2/0.0.0/2/5 /dev/sda5 volume 1427MiB Linux swap /
> Solaris partition
> /0/100/1f.2/0.0.0/2/6 /dev/sda6 volume 67GiB Linux filesystem partition
>
You can compare with my box:
H/W path Device Class Description
====================================================
system HP Compaq 6730b (GW687AV) (GW687AV)
/0 bus 30DD
/0/9 memory 64KiB BIOS
/0/0 processor Celeron(R) Dual-Core CPU T3000 @ 1.80GHz
/0/0/1 memory 1MiB L2 cache
/0/0/3 memory 32KiB L1 cache
/0/0/0.1 processor Logical CPU
/0/0/0.2 processor Logical CPU
/0/2 memory 32KiB L1 cache
/0/4 memory 2GiB System Memory
/0/4/0 memory 2GiB SODIMM DDR2 Synchronous 800 MHz (1.2 ns)
/0/4/1 memory SODIMM [empty]
/0/100 bridge Mobile 4 Series Chipset Memory Controller Hub
/0/100/2 display Mobile 4 Series Chipset Integrated Graphics Controller
/0/100/2.1 display Mobile 4 Series Chipset Integrated Graphics Controller
/0/100/1a bus 82801I (ICH9 Family) USB UHCI Controller #4
/0/100/1a.1 bus 82801I (ICH9 Family) USB UHCI Controller #5
/0/100/1a.2 bus 82801I (ICH9 Family) USB UHCI Controller #6
/0/100/1a.7 bus 82801I (ICH9 Family) USB2 EHCI Controller #2
/0/100/1b multimedia 82801I (ICH9 Family) HD Audio Controller
/0/100/1c bridge 82801I (ICH9 Family) PCI Express Port 1
/0/100/1c.1 bridge 82801I (ICH9 Family) PCI Express Port 2
/0/100/1c.1/0 network BCM4312 802.11b/g LP-PHY
/0/100/1c.2 bridge 82801I (ICH9 Family) PCI Express Port 3
/0/100/1c.4 bridge 82801I (ICH9 Family) PCI Express Port 5
/0/100/1c.5 bridge 82801I (ICH9 Family) PCI Express Port 6
/0/100/1c.5/0 eth0 network NetLink BCM5787M Gigabit Ethernet PCI Express
/0/100/1d bus 82801I (ICH9 Family) USB UHCI Controller #1
/0/100/1d.1 bus 82801I (ICH9 Family) USB UHCI Controller #2
/0/100/1d.2 bus 82801I (ICH9 Family) USB UHCI Controller #3
/0/100/1d.7 bus 82801I (ICH9 Family) USB2 EHCI Controller #1
/0/100/1e bridge 82801 Mobile PCI Bridge
/0/100/1e/2 bus FW322/323
/0/100/1f bridge ICH9M LPC Interface Controller
/0/100/1f.2 scsi0 storage ICH9M/M-E SATA AHCI Controller
/0/100/1f.2/0 /dev/sda disk 160GB Hitachi HTS54321
/0/100/1f.2/0/1 /dev/sda1 volume 58GiB Windows NTFS volume
/0/100/1f.2/0/2 /dev/sda2 volume 36GiB Windows NTFS volume
/0/100/1f.2/0/3 /dev/sda3 volume 10GiB EXT4 volume
/0/100/1f.2/0/4 /dev/sda4 volume 44GiB EXT3 volume
/0/100/1f.2/1 /dev/cdrom disk DVD RW AD-7561S
/0/1 scsi6 storage
/0/1/0.0.0 /dev/sdb disk 320GB SCSI Disk
/0/1/0.0.0/1 /dev/sdb1 volume 39GiB EXT4 volume
/0/1/0.0.0/2 /dev/sdb2 volume 2000MiB Linux swap volume
/0/1/0.0.0/4 /dev/sdb4 volume 256GiB Extended partition
/0/1/0.0.0/4/5 /dev/sdb5 volume 65GiB Linux filesystem partition
/0/1/0.0.0/4/6 /dev/sdb6 volume 191GiB HPFS/NTFS partition
/1 power TD06055
/2 wlan0 network Wireless interface
I've a box with the double of cpu and a lot more memory. But I always
disable flash except when I really need it (vlc is good for viewing
youtube). clisp is surely a better option for you. You can also try
cmucl which use less memory.
>> This one is because you haven't enabled local connections on your X
>> server. Add a line with 'xhost local:local' in your ~/.xsession or
>> .xinitrc or .Xclients.
>
> Why does clisp require this with portable clx but sbcl not?
>
Don't know. cmucl has solved this but the open-clx-display is not
portable.
http://www.cons.org/cmucl/doc/clx-authorization.html
More information about the clfswm-devel
mailing list