Sometimes I have a need to type special characters. Some of them aren't obviously represented on my keyboard. Indeed, no physical keyboard can realistically show all Unicode characters.
One of my often used special characters is the ellipsis (…) which is Unicode character U+2026.
Showing posts sorted by date for query memory. Sort by relevance Show all posts
Showing posts sorted by date for query memory. Sort by relevance Show all posts
sed quick reference
Continuing on this idea of quick references[1] to aid my memory, the next one is
My favourite
sed: stream editor for filtering and transforming textMy favourite
busybox toolkit contains sed too.
Gentoo Portage emerge TMPDIR extending zram btrfs volumes
Discovering zram and replacing all tmpfs
I have just discovered zram[2] :) woohoo... and what a thing that is!
I was so sold on
I was so sold on
tmpfs, that I used it for everything I possibly could. Since discovering zram, I am using tmpfs for nothing. All my tmpfs needs are met by zram much more efficiently.
gentoo emerge in tmpfs
One of my gentoo pain points has been the extremely (long and) resource intensive
For me, this has been a gradual step-by-step approach, as I encountered these issues and discovered more about Gentoo.
I stated out with my portage configured as default -- compiling everything on the same disk/filesystem mount on my rotating (not ssd) disk. Any emerge affected everything else, which was too invasive to ignore.
I want emerge to run gently in the background, not affecting any foreground tasks.
emerge for large packages. However, it is expected and many have come up with their own tricks to make this more efficient.For me, this has been a gradual step-by-step approach, as I encountered these issues and discovered more about Gentoo.
I stated out with my portage configured as default -- compiling everything on the same disk/filesystem mount on my rotating (not ssd) disk. Any emerge affected everything else, which was too invasive to ignore.
I want emerge to run gently in the background, not affecting any foreground tasks.
This sound device does not have any controls
I have no sound, on my recent gentoo install.
So I try
LXQT Mixer wouldn't open. I don't even get any error/warning messages. This is not good.So I try
alsamixer.$ alsamixer ... This sound device does not have any controls.
gentoo install x86 btrfs
this as a quick start guide to the much longer and more comprehensive gentoo handbook. but please understand what i have done, and not blindly copy. you should definitely read the gentoo install handbook a few times before even attempting an install.
bios acpi dsdt
bios: basic input/output system
acpi: advanced configuration power interface
dsdt: differentiated system description table
wheezy32: debian wheezy 32bit
arch32: arch 32bit
identify
so how do you identify, if your bios is broken/buggy? check kernel logs:
msft indicates that toshiba bios is specific to microsoft, particular to a windows version.
poor strategy, unless they were paid-off by microsoft.
confirm
how do you confirm whether bios provided data is usable? decompile & recompile.
a successful recompile, no errors/warnings indicates a good bios! and this has nothing to do with any operating system.
we need
the second command decompiles this .dat into .dsl
the third command attempts to compile, thereby generating the errors/warnings we are looking for.
i see this on wheezy32
12 errors, 24 warnings, i.e. not good!
i get the same results on arch32 too.. so don't go blaming wheezy32!
acpi: advanced configuration power interface
dsdt: differentiated system description table
wheezy32: debian wheezy 32bit
arch32: arch 32bit
toshiba bios seem to be one of the most notorious and worst broken. do not choose toshiba for anything but windows, and even with that be careful. dodgy bios implementations are like broken foundations to build your home, if you want to live there yourself!identify
so how do you identify, if your bios is broken/buggy? check kernel logs:
$ dmesg -l err toshiba_acpi: Error reading LCD brightnessindicates direction of problems. this error points towards a buggy implementation of acpi by toshiba.
$ dmesg | grep DSDT ACPI: DSDT 0x00000000B7CEF000 095BA (v01 TOSINV TOSINV00 00000001 MSFT 01000013) TOSHIBA Satellite detected - force copy of DSDT to local memory ACPI: Forced DSDT copy: length 0x095BA copied locally, original unmapped ACPI: EC: Look up EC in DSDTindicates that bios data is (used as original, forced) not overidden.
msft indicates that toshiba bios is specific to microsoft, particular to a windows version.
poor strategy, unless they were paid-off by microsoft.
confirm
how do you confirm whether bios provided data is usable? decompile & recompile.
a successful recompile, no errors/warnings indicates a good bios! and this has nothing to do with any operating system.
we need
iasl, for this purpose.$ apt-cache show iasl Description: Intel ASL compiler/decompiler iASL compiles ASL (ACPI Source Language) into AML (ACPI Machine Language). This AML is suitable for inclusion as a DSDT in system firmware. It also can disassemble AML, for debugging purposes. Homepage: http://acpica.org
# apt-get install iasl
$ iasl -h
$ cd /tmp $ sudo cat /sys/firmware/acpi/tables/DSDT >dsdt.dat $ iasl -d dsdt.dat $ iasl -tc dsdt.dslthe first command reads the dsdt data. do it as root.
the second command decompiles this .dat into .dsl
the third command attempts to compile, thereby generating the errors/warnings we are looking for.
i see this on wheezy32
$ iasl -tc dsdt.dsl Intel ACPI Component Architecture ASL Optimizing Compiler version 20100528 [Jul 2 2010] Copyright (c) 2000 - 2010 Intel Corporation Supports ACPI Specification Revision 4.0a dsdt.dsl 3401: 0x00000000, // Length Error 4122 - ^ Invalid combination of Length and Min/Max fixed flags dsdt.dsl 3408: 0x00000000, // Length Error 4122 - ^ Invalid combination of Length and Min/Max fixed flags dsdt.dsl 7148: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7165: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7214: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7231: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7275: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7489: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7506: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7523: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7540: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 7557: Name (_PLD, Buffer (0x10) Error 4080 - Invalid object type for reserved name ^ (found BUFFER, requires Package) dsdt.dsl 8873: Method (_GTM, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTM) dsdt.dsl 8873: Method (_GTM, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTM) dsdt.dsl 9033: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 9033: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) dsdt.dsl 9101: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 9101: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) dsdt.dsl 9174: Method (_GTM, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTM) dsdt.dsl 9174: Method (_GTM, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTM) dsdt.dsl 9334: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 9334: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) dsdt.dsl 9402: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 9402: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) dsdt.dsl 9507: Method (_GTM, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTM) dsdt.dsl 9507: Method (_GTM, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTM) dsdt.dsl 9667: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 9667: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) dsdt.dsl 9735: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 9735: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) dsdt.dsl 9808: Method (_GTM, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTM) dsdt.dsl 9808: Method (_GTM, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTM) dsdt.dsl 9968: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 9968: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) dsdt.dsl 10036: Method (_GTF, 0, NotSerialized) Warning 1088 - ^ Not all control paths return a value (_GTF) dsdt.dsl 10036: Method (_GTF, 0, NotSerialized) Warning 1081 - ^ Reserved method must return a value (Buffer required for _GTF) ASL Input: dsdt.dsl - 10111 lines, 370896 bytes, 4450 keywords Compilation complete. 12 Errors, 24 Warnings, 0 Remarks, 37 Optimizations
12 errors, 24 warnings, i.e. not good!
i get the same results on arch32 too.. so don't go blaming wheezy32!
debian stretch kernel compile
debian kernels contain everything needed by everyone. customising your kernel is easy and highly recommended. i recommend using the same kernel version/source, to comply with debian security/updates.
jwm
i seem to have come full circle, through quite a lot of de/wm back to the rather humble jwm. and i'm quite pleasantly surprised. jwm replaces my current openbox + tint2 setup quite well, perhaps even better.. more efficient, quicker, smaller, faster, simpler and very customisable. jwm gives me everything i use in openbox and tint2 combined. i think this is the end of my openbox saga.
kernel compile debian way
1. prepare your system
verify you have sufficient diskspace. about 1g or so.
you do not need root. normal user can compile.
you do not need to compile on your own system. another system, with faster cpu, more memory, spare demand, etc can compile your kernel.
verify you have sufficient diskspace. about 1g or so.
you do not need root. normal user can compile.
you do not need to compile on your own system. another system, with faster cpu, more memory, spare demand, etc can compile your kernel.
evilwm
my wm journey moves on... from various bloatwares to fluxbox to ratpoison to spectrwm to dwm... now to evilwm :-)
i hope to keep this post updated, and accumulate my evilwm experience.
i did a memory profile on some window managers on my radar, and found evilwm to be using the least memory of them. that made me look at it in more detail, and i find i like it better than dwm that i'm currently using.
evilwm install in debian
[code]# apt-get update && apt-get install evilwm[/code]
edit .xinitrc (.xsession if you use any dm). change current wm with evilwm.
[code]exec evilwm -term gmrun -nosoliddrag[/code]
keyboard meta is ctrl-alt
my most used are
1-8 - change virtual desktop
left - prev virtual desktop
right - next virtual desktop
f - (un)fix window
x - maximise current window (toggle)
= - maximise current window vertically (toggle)
HJKL - shift window
hjkl - move window
yubn - move window to screen corner
alt+tab - cycle through windows (don't use meta key)
to maximise window horizontally: use = and x alternatively and repeat to toggle.
to move windows between virtual desktops: fix window, change desktop, unfix window.
manual says "To make evilwm exit, you have to kill the process". i completely agree - providing spurious buttons is bloat - not the job of a wm. and why would you want to exit x? to shutdown?
just shutdown
if i do have to quit evilwm
as i have mapped gmrun to evilwm default term, i bring up a command-line with
or you could map the commands to a keyboard shortcut of your choice. if that is how you like it, use
as this is an extremely efficient wm, for any additional functionality you can use other extremely efficient apps to add features you may need.
gmrun - command-line application launcher
xbindkeys - custom keyboard shortcuts
ref links:
http://www.6809.org.uk/evilwm/ChangeLog-1.1
wiki.archlinux.org/index.php/evilwm
gentoo-wiki.info/evilwm
http://forums.debian.net/viewtopic.php?t=15077
i hope to keep this post updated, and accumulate my evilwm experience.
i did a memory profile on some window managers on my radar, and found evilwm to be using the least memory of them. that made me look at it in more detail, and i find i like it better than dwm that i'm currently using.
evilwm install in debian
[code]# apt-get update && apt-get install evilwm[/code]
edit .xinitrc (.xsession if you use any dm). change current wm with evilwm.
[code]exec evilwm -term gmrun -nosoliddrag[/code]
keyboard meta is ctrl-alt
my most used are
1-8 - change virtual desktop
left - prev virtual desktop
right - next virtual desktop
f - (un)fix window
x - maximise current window (toggle)
= - maximise current window vertically (toggle)
HJKL - shift window
hjkl - move window
yubn - move window to screen corner
alt+tab - cycle through windows (don't use meta key)
to maximise window horizontally: use = and x alternatively and repeat to toggle.
to move windows between virtual desktops: fix window, change desktop, unfix window.
manual says "To make evilwm exit, you have to kill the process". i completely agree - providing spurious buttons is bloat - not the job of a wm. and why would you want to exit x? to shutdown?
just shutdown
$ sudo haltif i do have to quit evilwm
$ killall -9 evilwmas i have mapped gmrun to evilwm default term, i bring up a command-line with
ctrl-alt-enter and enter the above commands.or you could map the commands to a keyboard shortcut of your choice. if that is how you like it, use
xbindkeys.as this is an extremely efficient wm, for any additional functionality you can use other extremely efficient apps to add features you may need.
gmrun - command-line application launcher
xbindkeys - custom keyboard shortcuts
ref links:
http://www.6809.org.uk/evilwm/ChangeLog-1.1
wiki.archlinux.org/index.php/evilwm
gentoo-wiki.info/evilwm
http://forums.debian.net/viewtopic.php?t=15077
android roadmap?
i'm not sure which way google are going, but they seem to want to turn the android into a desktop os, rather than a handheld os. google are doing to android, what microsoft did to windows.. make it bloatware & proprietary locking everyone out, till people give up and move to alternatives.
my toolkit
i am on a constant quest for more efficient apps. soon as i find one, i change over. efficiency means smaller code, focussed approach. leaner code is cleaner code is more efficient code.
mtrr cleanup
having just done an
the above doesn't seem to add up right. note that i have 4gb of memory on this machine.
i found many recommendations to
now this look much better! i'm keeping this kernel bootoption. have a go yourself, and post your (before/after) results below.
update: i should use mtrr_spare_reg_nr=0, as the first reg is 00.
upgrade, i went through the logs and found some mtrr #fail issues.$ dmesg | grep -i mtrr [ 0.000000] MTRR default type: uncachable [ 0.000000] MTRR fixed ranges enabled: [ 0.000000] MTRR variable ranges enabled: [ 5.811624] mtrr: type mismatch for d0000000,10000000 old: write-back new: write-combining [ 5.811628] [drm] MTRR allocation failed. Graphics performance may suffer. $ cat /proc/mtrr reg00: base=0x0c0000000 ( 3072MB), size= 1024MB, count=1: uncachable reg01: base=0x000000000 ( 0MB), size= 4096MB, count=1: write-back reg02: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back reg03: base=0x0bf700000 ( 3063MB), size= 1MB, count=1: uncachable reg04: base=0x0bf800000 ( 3064MB), size= 8MB, count=1: uncachable
the above doesn't seem to add up right. note that i have 4gb of memory on this machine.
debian testing 3.2.0-2-amd64 #1 SMP Fri Jun 1 17:49:08 UTC 2012 x86_64 GNU/Linux
i found many recommendations to
enable_mtrr_cleanup, including this: http://forums.gentoo.org/viewtopic-t-857061-start-0-postdays-0-postorder-asc-highlight-.html. so i added the kernel bootoptionsenable_mtrr_cleanup mtrr_spare_reg_nr=1to the
grub commandline, and here is the result.$ dmesg | grep -i mtrr [ 0.000000] MTRR default type: uncachable [ 0.000000] MTRR fixed ranges enabled: [ 0.000000] MTRR variable ranges enabled: [ 0.000000] original variable MTRRs [ 0.000000] Found optimal setting for mtrr clean up [ 0.000000] New variable MTRRs $ cat /proc/mtrr reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back reg02: base=0x0bf700000 ( 3063MB), size= 1MB, count=1: uncachable reg03: base=0x0bf800000 ( 3064MB), size= 8MB, count=1: uncachable reg04: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back reg05: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: write-combining
now this look much better! i'm keeping this kernel bootoption. have a go yourself, and post your (before/after) results below.
update: i should use mtrr_spare_reg_nr=0, as the first reg is 00.
cyanogenmod 7.1.0
Finally, after a long wait, CM 7.1 has been released for my ZTE Blade. The last (supposedly) stable release CM 7.0.3 wasn't that stable. 7.1.0-RC1, the subsequent Release Candidate was more stable, but still carried over Battery drain issues, Apps leaking, GPS reboots, etc.
Opera cpu/memory leaks and Flash
i have been a long term user of opera, as i like it's light resource demands. one particular concern has been the long running issue of cpu/memory leaks. opera seems to continue consuming cpu/memory as it runs longer. so you need to periodically *restart* it. this problem exacerbates after visiting websites with flash. sometimes, it gets so bad, that i have to
i found some others having similar problems. perhaps they might help. although, they seem to be historical issues, i still have problems with opera 11.51, the latest release.
>> extremely high CPU usage by opera plugin wrapper process http://ubuntuforums.org/showthread.php?t=1288274
>> build 4464 (intel linux) and operapluginwrapper http://www.archivum.info/opera.beta/2009-07/00030/build-4464-(intel-linux)-and-operapluginwrapper.html
kill -9 ... i usually disable plugins, or only enable on-demand. but there are times when i need flash.$ ps ux | grep operagives some clue. seems to me that opera plugin handling is badly written, when I see
.../lib/opera//operapluginwrapper
.../lib/opera//operaplugincleanernote the double slashes in the path, instead of a single slash.
i found some others having similar problems. perhaps they might help. although, they seem to be historical issues, i still have problems with opera 11.51, the latest release.
>> extremely high CPU usage by opera plugin wrapper process http://ubuntuforums.org/showthread.php?t=1288274
>> build 4464 (intel linux) and operapluginwrapper http://www.archivum.info/opera.beta/2009-07/00030/build-4464-(intel-linux)-and-operapluginwrapper.html
local.prop
i used to change my
now i put these changes in
/system/build.prop, each time i found a hack. frequent changes were cumbersome, as /system partition is read-only. also, any rom updates would wipe that clean.now i put these changes in
/data/local.prop, a more efficient way of keeping all these hacks together, and maintaining them across rom updates. also, /data partition is mounted read-write. so i can push the changes anytime.
mint xfce menu
mint updates break mint's elegant xfce menu. first login asks whether you want to keep, migrate or replace the old menu. it doesn't matter what you choose. apparently the old menu in incompatible with the new update.
i did not want to manually code the xfce menu, to avoid incompatibilities with future mint updates. reluctantly, i had to use the memory-hungry but presentable gnome-menu instead.
edit: just discovered the bug and solution here:
https://bugs.launchpad.net/linuxmint/+bug/806859
http://forums.linuxmint.com/viewtopic.php?t=74615
i did not want to manually code the xfce menu, to avoid incompatibilities with future mint updates. reluctantly, i had to use the memory-hungry but presentable gnome-menu instead.
edit: just discovered the bug and solution here:
https://bugs.launchpad.net/linuxmint/+bug/806859
http://forums.linuxmint.com/viewtopic.php?t=74615
Deb-Ian
I have had a long standing on-off relationship with debian going back to the potato years. I had tried many distros, but for whatever reason kept coming back to debian eventually. I have revived that affair again, and I must say I like it. I don't know, if it is due to my familiarity with this distro. I tried ubuntu for a few days, and came back to debian very quickly. Ubuntu is bloatware and targetting at n00bs. I've possibly gone past that stage, and I probably know what I want and don't. I'm still not an expert yet, but I'm getting there...
most viewed
-
to play more seriously with yet another distro, i needed to install it. so i had some fun resizing/moving partitions around to clear some fr...
-
I have just discovered zram [2] :) woohoo... and what a thing that is! I was so sold on tmpfs , that I used it for everything I possibly ...
-
you won't see many docs about minimal netinstall slackware. indeed, you will see many experts saying there is no such thing. and your on...
-
debian kernels contain everything needed by everyone. customising your kernel is easy and highly recommended. i recommend using the same ker...
-
I decided to have another go at runit , this time on my gentoo . I had been thinking about this, since I noticed this on
-
I noticed while updating my void that kernels were being updated, but old ones weren't being removed. Removing orphan packages didn'...
-
this idea has been knocking around in my head for a while. i want to document it, while it is still there and to flush it out later.. i us...
-
vision: portable internet router, to carry on my travels, or use at home. openwrt on a portable (thin-client/netbook) device. internet sour...
-
ref: http://wiki.gentoo.org/wiki/portage Gentoo is Portage. Portage is Gentoo. Getting portage settings right is vitally important. It...
-
I have no sound, on my recent gentoo install. LXQT Mixer wouldn't open. I don't even get any error/warning messages. This is not ...