Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Long HDD-I/O

0 views
Skip to first unread message

Claudius Hubig

unread,
Apr 15, 2007, 11:11:25 AM4/15/07
to
Hi,

I'm currently using Opera 9.2, Build 638 on Debian Testing (Kernel
2.6.18-4-686). When accessing some web sites, like Wikipedia or
Google or whatever, sometimes Opera just hangs like 10 seconds, my
monitors show long I/O on the HDD and the process uses up to 50% of
my CPU-time (P-IV 3.2 GHz with HT), what is something I recognize the
first time in Opera.

Any ideas about this topic?

Greetings,

Claudius
--
Mail: x2017...@nuefuerspam.de ICQ: 224491597
Jabber: x2...@jabber.ccc.de SIP: x2...@ekiga.net
MSN: claudi...@passport.com Nightfall.org:23 Claudius

Keith Willoughby

unread,
Apr 15, 2007, 1:36:22 PM4/15/07
to
Claudius Hubig <claudi...@arcor.de> writes:

> I'm currently using Opera 9.2, Build 638 on Debian Testing (Kernel
> 2.6.18-4-686). When accessing some web sites, like Wikipedia or Google
> or whatever, sometimes Opera just hangs like 10 seconds, my monitors
> show long I/O on the HDD and the process uses up to 50% of my CPU-time
> (P-IV 3.2 GHz with HT), what is something I recognize the first time
> in Opera.
>
> Any ideas about this topic?

It's scanning/loading fonts for non-Roman alphabets, most probably. It
does it on mine, too, most notable on Wikipedia and Google search
results, as you say, because those are the pages I'm most likely to see
non-Roman charsets on.

--
Keith Willoughby http://flat222.org/keith/

Eirik Byrkjeflot Anonsen

unread,
Apr 16, 2007, 3:35:49 AM4/16/07
to
Keith Willoughby <ke...@flat222.org> writes:

Yes, that's most likely it. This has been the issue at the top of my
personal list of things that really should be fixed for years.

Unfortunately, it is quite hard to get right, and since it generally
works well we just don't get around to fixing it. (I mean, opera will
usually be able to pick a good font, it just spends a lot of time
getting there.)

eirik

Claudius Hubig

unread,
Apr 16, 2007, 9:15:47 AM4/16/07
to

OK, I really have a lot of fonts (around 1000) - is it now somehow
possible to stop Opera from scanning them but just telling Opera only
to use e. g. Bitstream Vera [Sans|Serif|Mono]? My idea would be to
run Opera by another user who might not use the fonts, but that's
just...silly?

Eirik Byrkjeflot Anonsen

unread,
Apr 16, 2007, 9:23:54 AM4/16/07
to
Claudius Hubig <claudi...@arcor.de> writes:

No, not at the moment. You can turn off support for xft or x11 "core"
fonts, which obviously has the potential for cutting down on the
number of fonts available. Unfortunately, I don't remember how right
now.

Better user control over what fonts opera will use is part of what I
believe a "new and better" design must have.

eirik

Jonathan A.

unread,
Apr 16, 2007, 1:18:14 PM4/16/07
to
On Mon, 16 Apr 2007 15:23:54 +0200, Eirik Byrkjeflot Anonsen
<ei...@opera.com> appears to have said:

> Claudius Hubig <claudi...@arcor.de> writes:
>>
>> OK, I really have a lot of fonts (around 1000) - is it now somehow
>> possible to stop Opera from scanning them but just telling Opera only

>> to use e. g. Bitstream Vera [Sans|Serif|Mono]?...


>
> No, not at the moment. You can turn off support for xft or x11 "core"
> fonts, which obviously has the potential for cutting down on the
> number of fonts available. Unfortunately, I don't remember how right
> now.

I have this in /etc/opera6rc.fixed:

===BEGIN cut Here=====================
[User Prefs]
Enable Core X Fonts=0
Enable Xft Fonts=1
===END cut Here=======================

Works for me. I used to have the same issue of long waits while opera
searched for the "best fit" for certain pages. No problems since I
disabled core X fonts.

HTH,
Jonathan

--
Don't just hit reply. Email address is broken. Thank
your friendly neighborhood spammer. Email replies to:
user: daboid domain: suddenlink<dot>net

Claudius Hubig

unread,
Apr 16, 2007, 2:44:26 PM4/16/07
to
"Jonathan A." <inv...@example.net> wrote:
>On Mon, 16 Apr 2007 15:23:54 +0200, Eirik Byrkjeflot Anonsen
><ei...@opera.com> appears to have said:
>
>> Claudius Hubig <claudi...@arcor.de> writes:
>>>
>>> OK, I really have a lot of fonts (around 1000) - is it now somehow
>>> possible to stop Opera from scanning them but just telling Opera only
>>> to use e. g. Bitstream Vera [Sans|Serif|Mono]?...
>>
>> No, not at the moment. You can turn off support for xft or x11 "core"
>> fonts, which obviously has the potential for cutting down on the
>> number of fonts available. Unfortunately, I don't remember how right
>> now.
>
>I have this in /etc/opera6rc.fixed:
>
>===BEGIN cut Here=====================
>[User Prefs]
>Enable Core X Fonts=0
>Enable Xft Fonts=1
>===END cut Here=======================
>
>Works for me. I used to have the same issue of long waits while opera
>searched for the "best fit" for certain pages. No problems since I
>disabled core X fonts.

No effect here. I changed the setting in opera:config, saved and
restarted - the setting was still in the changed state, but the I/O
still exists (around 10s, maybe less).

Greetings & thank you for your help :),

Jonathan A.

unread,
Apr 17, 2007, 11:07:11 AM4/17/07
to
On Mon, 16 Apr 2007 20:44:26 +0200, Claudius Hubig
<claudi...@arcor.de> appears to have said:

> "Jonathan A." <inv...@example.net> wrote:
>>
>>I have this in /etc/opera6rc.fixed:
>>
>>===BEGIN cut Here=====================
>>[User Prefs]
>>Enable Core X Fonts=0
>>Enable Xft Fonts=1
>>===END cut Here=======================
>

> No effect here. I changed the setting in opera:config, saved and
> restarted - the setting was still in the changed state, but the I/O
> still exists (around 10s, maybe less).

Well... unless you have some huge Unicode fonts or just a whole lot of
TrueType fonts, I guess the font thing wasn't it. In fact, now that
I've actually read your original post (shame on me for responding in
mid-thread), I see you said that even google triggered the hang???
Google is about as simple as a page gets nowadays. I wouldn't expect
google to make opera hunt for exotic fonts, unless it's the Japanese
version or something. :)

> Greetings & thank you for your help :),

You're welcome. Unfortunately, it looks as if it hasn't been so much
help. :| If I really wanted to find the root of the file I/O, I would
make a copy of the opera startup script, and edit the last line to
run opera through strace:

strace -efile "${OPERA_BINARYDIR}opera" "$@"

You can pipe the output through "tee" to save a log:

strace -efile "${OPERA_BINARYDIR}opera" "$@" 2>&1 | tee opera.strace.log

If you run the modified opera script from an xterm, you will see output
(a lot) about every file opera accesses as it's running. Maybe when the
hang occurs, you'll be able to better guess what opera's trying to do
when you get the high file I/O situation.

Keith Willoughby

unread,
Apr 17, 2007, 12:08:11 PM4/17/07
to
"Jonathan A." <inv...@example.net> writes:

> Well... unless you have some huge Unicode fonts or just a whole lot of
> TrueType fonts, I guess the font thing wasn't it. In fact, now that
> I've actually read your original post (shame on me for responding in
> mid-thread), I see you said that even google triggered the hang???
> Google is about as simple as a page gets nowadays. I wouldn't expect
> google to make opera hunt for exotic fonts, unless it's the Japanese
> version or something. :)

Google search results often contain non-Roman fonts.

--
Keith Willoughby http://flat222.org/keith/

You can't eat information

Claudius Hubig

unread,
Apr 17, 2007, 12:40:15 PM4/17/07
to
"Jonathan A." <inv...@example.net> wrote:
>If I really wanted to find the root of the file I/O, I would
>make a copy of the opera startup script, and edit the last line to
>run opera through strace:
>
>strace -efile "${OPERA_BINARYDIR}opera" "$@"
>
>You can pipe the output through "tee" to save a log:
>
>strace -efile "${OPERA_BINARYDIR}opera" "$@" 2>&1 | tee opera.strace.log
>
>If you run the modified opera script from an xterm, you will see output
>(a lot) about every file opera accesses as it's running. Maybe when the
>hang occurs, you'll be able to better guess what opera's trying to do
>when you get the high file I/O situation.

Yes, it was searching for fonts. The strace looked like:

open("/home/claudius/.fonts/ThemixIt.ttf", O_RDONLY) = 27
[...]
open("/var/lib/defoma/fontconfig.d/C/CopprplGothCnBT-Regular.ttf",O_RDONLY) = 32

Around 1000 times...

Greetings,

Jonathan A.

unread,
Apr 17, 2007, 4:06:59 PM4/17/07
to
On Tue, 17 Apr 2007 16:08:11 GMT, Keith Willoughby
<ke...@flat222.org> appears to have said:

> "Jonathan A." <inv...@example.net> writes:
>
>> Google is about as simple as a page gets nowadays. I wouldn't expect
>> google to make opera hunt for exotic fonts, unless it's the Japanese
>> version or something. :)
>
> Google search results often contain non-Roman fonts.

Now that you mention it, I suppose they do. I sit corrected. :)

Jonathan A.

unread,
Apr 17, 2007, 4:51:23 PM4/17/07
to
On Tue, 17 Apr 2007 18:40:15 +0200, Claudius Hubig

<claudi...@arcor.de> appears to have said:

> Yes, it was searching for fonts. The strace looked like:
>
> open("/home/claudius/.fonts/ThemixIt.ttf", O_RDONLY) = :27
> [...]

<snip>

> Around 1000 times...

Wow... so you actually have 1000 or so TrueType fonts installed? I
figured you were talking about the total between X fonts and TT
fonts when you said a thousand. :)

Well... I dunno. After playing around a bit with fontconfig, I
found that it's possible to reject entire directories of fonts with
~/.fonts.conf and, apparently, if your fontconfig library is new enough
(2.4.x?), you can set the environment variable "FC_CONFIG_FILE" to a
custom value. It doesn't work here (fontconfig-2.3.95), but it might be
worth a shot to try something like this.

In the opera startup script:

export FC_CONFIG_FILE="/home/myuser/.opera/fonts.conf"

And in /home/myuser/.opera/fonts.conf:

=====BEGIN cut here=====================
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<rejectfont>
<glob>/path/to/huge/font/dir/*</glob>
</rejectfont>
<rejectfont>
<glob>/path/to/another/huge/font/dir/*</glob>
</rejectfont>
</fontconfig>
=======END cut here=====================

If the FC_CONFIG_FILE variable works for you, then you could trim the
number of fonts available to Opera, while keeping the full arsenal of
fonts available for other applications.

http://fontconfig.org/fontconfig-devel/r2232.html
http://fontconfig.org/fontconfig-user.html

FWIW,

0 new messages