ROX Filer Too Slow [SOLVED]

Using applications, configuring, problems
Message
Author
dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

ROX Filer Too Slow [SOLVED]

#1 Post by dahiyasumit »

Facts: -
- Lucid Puppy 5.2
- Dell Inspiron 1525
- 3Gb RAM
- 250 Gb Hard Disk
- Boot from CD
- Session file (lupusave.2fs) loads from SDHC card formatted as FAT.
- Video describing the problem: - http://www.youtube.com/watch?v=k52BVa9yzT8
- Puppy Linux ROCKS!

I have observed that, lately, ROX filer on my puppy linux falls little slow while opening (see video above). However, once the filer window opens, there is no lag navigating through the directories. It wasn't always like that.

I thought SDHC card might be slowing things down and moved the session file (lupusave.2fs) to a USB flash drive(formatted as FAT). Rebooted and loaded session file from this flash drive but ROX's behavior did not change.

I am not sure how I managed to run into this issue. Any ideas on what might be going on?

(Please let me know if I have missed out a necessary detail in this message.)

Thanks.

{Search Keywords: rox filer slow, hard disks mount slowly}
Last edited by dahiyasumit on Wed 30 Mar 2011, 23:31, edited 1 time in total.

User avatar
Fossil
Posts: 1157
Joined: Tue 13 Dec 2005, 21:36
Location: Gloucestershire, UK.

#2 Post by Fossil »

dahiyasumit
Welcome. I see you have a 250 Gb hard drive. Do you have a lot of videos or images stored either within the lupusave.2fs, or on accessing the hard drive?
If Rox has show 'thumbnails' enabled, it will generate an image of each image, this will slow it down.
Right click a desktop icon: Rox, Options, uncheck 'Show Image Thumbnails'. See if that makes any difference.

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#3 Post by dahiyasumit »

Thanks for the reply, Fossil.

My 250Gb hard drive has 85% free space and has very few images but no videos. The session file (lupusave.2fs) is also 62% free with neither images nor videos on it. Also, 'thumbnails' are disabled under Rox options.

I want to stress on the fact that lupusave.2fs loads from my SDHC card; not the 250Gb hard disk.

Keep the ideas coming .... thanks!

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#4 Post by Dougal »

Have you tried looking at the logs (/tmp/xerrs.log and the rox log in rightClick->Window->Show Log), to see if there are some kind of errors to explain rox's slowness? Have you got a lot of files in your home directory that it might be slow in recognizing (it checks their magic bit to find out the type if there's no recognizable file extension)?
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#5 Post by Karl Godt »

If Rox has show 'thumbnails' enabled, it will generate an image of each image, this will slow it down.
/etc/rd.d/rc.shutdown will probably delete them :

Code: Select all

#rm -rf /root/.thumbnails/* 2> /dev/null
if [ "$PUPMODE" != "2" ]; then
echo "removing thumbnails" > /dev/console
rm -rf /root/.thumbnails/* 2> /dev/null
else
FP=`df | grep -w '/' | tr -s ' ' | cut -f5 -d ' ' | tr -d '%'`
if test "$FP" -lt 5; then
echo "Full install , free space lesser than 5%; removing thumbnails"
rm -rf /root/.thumbnails/* 2> /dev/null
else
echo "Full install , free space more than 5%; leaving thumbnails ok"
fi
fi
sync

[ -f /etc/rc.d/MORESFS ] && rm /etc/rc.d/MORESFS
but I think that `xload` seems not to run in the tray
`uptime` and `top` - and if you manage to compile xosview - could give you a view about things that probably slow down .

about time :
sh-3.2#

Code: Select all

time /usr/local/bin/rox /usr/local/lib/X11/mini-icons
real 0m0.571s
user 0m0.130s
sys 0m0.055s
and the scrollbar takes perhaps still 5sec to reach 100% with thumbnails enabled

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#6 Post by dahiyasumit »

I think I have isolated the problem area and can replicate(and also resolve) the issue at will.

It may sound strange, but if I disable my wireless internet (using the hardware WiFi switch on my laptop OR using the "network" icon in system tray) then Rox filer works just fine - it is MUCH faster than when connected. Also, as soon as I turn my wireless internet back on, Rox becomes slow again. This behavior can be replicated as many times as I wish - across several hours, thus eliminating the possibility of a "fluke".

This might indicate an issue with WiFi card in the laptop. But when I take this laptop to my work place and connect to the work-internet then Rox shows no slowness. It is only at home that I experience this behavior.

I am unable to establish the correlation between Rox and the wireless internet.

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#7 Post by bigpup »

Do you have any kind of file sharing turned on?

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#8 Post by dahiyasumit »

@bigpup
File sharing, not that I know of. How can I check?

Thanks!

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#9 Post by dahiyasumit »

@Dougal
I looked at the log file but did not find anything suspicious. Also, my home directory has 12 visible items and 65 hidden items. Does this qualify as "too many"?

Like I mentioned before, there is no slowness whatsoever when connected to WiFi network at my office. Not sure what is Rox trying to do over internet when I launch it.

Thanks.

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#10 Post by Dougal »

dahiyasumit wrote:@Dougal
I looked at the log file but did not find anything suspicious. Also, my home directory has 12 visible items and 65 hidden items. Does this qualify as "too many"?
No, not at all.
Like I mentioned before, there is no slowness whatsoever when connected to WiFi network at my office. Not sure what is Rox trying to do over internet when I launch it.
Rox shouldn't have anything to do with the wireless connection, so the only thing I can think of is if there's a problem with that wireless connection that causes your entire system to go crazy... try running "top" in a terminal to see if the CPU is very busy and look at the output of dmesg to see if there's any trouble with the wireless ('though I can't think why).
Also, you might want to try something like

Code: Select all

iwconfig wlan0 rate 11M
to fix the rate of the wireless (it defaults to "auto"), as it tends to go a little crazy with switching rates and can just make things worse...
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#11 Post by dahiyasumit »

@Dougal
I'll test this out over the weekend and post the results back. My non-puppy life is going to consume most of tomorrow :lol:

Thanks

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#12 Post by technosaurus »

I discovered a little talked about issue while compiling several library updates. If you have updated underlying libraries, this may apply. (specifically relating to the app you are trying to open ... nothing to do with rox or wireless, if it is the actual video buffer time disregard and debug WiFi)

When a program is compiled it will directly link to all libraries specified in the command whether they are direct dependencies or not. This causes the program to expect a certain symbol to be at a certain location, and as long as you never upgrade libraries, you will benefit by ~.001 second increase in start speed at the cost of some file size from having a larger symbol table. The problem arises when one of those indirect libraries is up/downgraded. At best this causes a significant increase in start time while trying to locate these symbols. At worst, the symbol is no longer present or renamed and all apps linked this way would need to be recompiled. Usually this is from autotools being "crap" or the libraries unnecessarily being specified in the pkgconfig (.pc) file.

If done properly, only the direct dependencies that actually depend on that symbol would need to be recompiled. for example:
BAD
gcc ... -o gapp -lgtk-x11-2.0 -lgtk-x11-2.0 -lpangox-1.0 -lglib-2.0 ... -lX11 -lXdmcp -lXau
GOOD
gcc ... -o gapp -lgtk-x11-2.0
BETTER
gcc ... -Wl,--as-needed -o gapp -lgtk-x11-2.0

the dynamic linker will automatically find the symbols in dependencies fairly quickly at load time... and won't break.

the as needed will also do some of this for you, and possibly reduce some dependencies in the mean time. to see the difference you can use "objdump -x binary" and look for NEEDED

To make a long story short, be cautious about "upgrading" if you don't really need to... we need something better than autotools and waf.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
MrToad
Posts: 62
Joined: Thu 13 Dec 2007, 22:58
Location: East Devon, GB

#13 Post by MrToad »

I have had this ROX slowdown problem - or a similar one - many times with different Puppies, and tried all sorts of things to fix it. In the end it came down to something rather simple.

I don't know if this will solve dahiyasumit's problem but it's worth a try as it will take only a moment to check out: open the two files /etc/hostname and /etc/hosts in a text editor and see if the computer's name is the same in both files. If not, make it so.

Background: whenever I changed the default name of "puppypc" on any of my Puppy computers in order to use it with other Puppies on my LAN (cabled and wireless), a ROX slowdown occurred. This happened with every Puppy I used on my LAN. (lots of 3 and 4 series, including the latest Fluppy - version 13). The setting-up dialogue that gives you the opportunity to change the machine's identification seems to only change it in /etc/hostname and not /etc/hosts as well - in /etc/hosts the offending line stayed as "127.0.0.1 localhost puppypc" in all the Puppies I have played with.

This "clash" results in some odd behaviour (I am just a user so don't ask me why!) such as: some programs, eg browsers, start up very slowly, ROX opens very slowly on clicking the "home" icon but then works normally, and so on. Weirdly, dragging the /root folder to somewhere on the desktop to give a second shortcut to it, makes a clickable icon that opens /root in ROX quickly compared to the one that was already there and "slowed down" - I have no idea why. The difference between them vanishes once I have the /etc/hostname and etc/hosts files agreeing with each other.

Hope this is of some help.

MrToad

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#14 Post by Dougal »

That's very interesting, Toady.

I just run grep over the rox sources and found this:

Code: Select all

main.c: option_add_int(&o_dnd_no_hostnames, "dnd_no_hostnames", 1);
which sent me to the configuration dialogue... and in the "Compatibility" section you have a "no hostnames" tickbox.

There are also a couple of interesting bits in support.c:

Code: Select all

/* Return our complete host name for DND */
const char *our_host_name_for_dnd(void)
{
	if (o_dnd_no_hostnames.int_value)
		return "";
	return our_host_name();
}
This seems to indicate that for Drag-N-Drop support the host is (can be) used.

and

Code: Select all

/* Return our complete host name, unconditionally */
const char *our_host_name(void)
{
	static char *name = NULL;

	if (!name)
	{
		char buffer[4096];

		if (gethostname(buffer, 4096) == 0)
		{
			/* gethostname doesn't always return the full name... */
			struct hostent *ent;

			buffer[4095] = '\0';
			ent = gethostbyname(buffer);
			name = g_strdup(ent ? ent->h_name : buffer);
		}
		else
		{
			g_warning("gethostname() failed - using localhost\n");
			name = g_strdup("localhost");
		}
	}

	return name;
}
Which seems to indicate that gethostname() must be failing because of the incompatibility and thus localhost is used.
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

Bruce B

#15 Post by Bruce B »

Lupu 5.20

I can't duplicate this presently or any any past versions.

My standard way of installing Puppy is:

Mid level machine, (low level by some people's standards)
ext3 host partition
ext3 puppysave file

AND frequent full filesystem checks on both devices

My experience and PLEASE correct my nomenclature here.

USB type 1 is painfully slow
USB type 2 is pleasantly fast

?? Could USB type or filesystem errors be the problem here ??

~

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#16 Post by dahiyasumit »

open the two files /etc/hostname and /etc/hosts in a text editor and see if the computer's name is the same in both files. If not, make it so.
MrToad, you have hit the bullseye. I had renamed my computer immediately after install but /etc/hosts still had the default "puppypc" listed as localhost. I fixed that file and rebooted. Now the slowness is gone !!

This could be a bug worth putting on radar for next release.

Thanks!

Bruce B

#17 Post by Bruce B »

dahiyasumit wrote:
open the two files /etc/hostname and /etc/hosts in a text editor and see if the computer's name is the same in both files. If not, make it so.
MrToad, you have hit the bullseye. I had renamed my computer immediately after install but /etc/hosts still had the default "puppypc" listed as localhost. I fixed that file and rebooted. Now the slowness is gone !!

This could be a bug worth putting on radar for next release.

Thanks!
I find this very interesting.

I didn't have a problem with ROX-Filer at all. Nevertheless, upon reading this topic, I made some changes.

Line 1 of hosts reads 127.0.0.1 localhost

I changed computer name to localhost

It has been working swell.

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#18 Post by dahiyasumit »

I made some changes.
Line 1 of hosts reads 127.0.0.1 localhost
I changed computer name to localhost
It has been working swell.
Bruce, as strange as it may sound, the internet service company also seems to play a role here. Allow me to explain....

My home receives internet from two different companies - A and B. When I use puppy with company A, ROX-filer works just fine without any slowness whatsoever. That too regardless of "/etc/hostname" and "/etc/hosts" having different host names.

One fine day, I thought of switching to internet company B and Rox (and couple of other things) started falling slow. Yesterday I fixed my host name, thanks to MrToad, and Rox is working nicely even with company B. So in a nutshell, Rox works fine with company A regardless of my host names but it runs very slow with company B unless I fix host names.

I can replicate this behavior as many times as I wish (a restart is required after I change host names) and I have no clue what does company A has in their infrastructure that company B does not.

User avatar
trapster
Posts: 2117
Joined: Mon 28 Nov 2005, 23:14
Location: Maine, USA
Contact:

#19 Post by trapster »

My /etc/hosts
As far as I remember, I've never changed it. Puppy 5.2

127.0.0.1 localhost puppypc
192.168.1.1 pc2
192.168.1.2 pc3
192.168.1.3 pc4
trapster
Maine, USA

Asus eeepc 1005HA PU1X-BK
Frugal install: Slacko
Currently using full install: DebianDog

dahiyasumit
Posts: 13
Joined: Wed 23 Mar 2011, 00:29

#20 Post by dahiyasumit »

trapster, you don't have to change your "/etc/hosts" unless you renamed your computer during installation process.

As MrToad mentioned, puppy gives you an opportunity to rename your computer if you dont like the default "puppypc". Now if you take this opportunity (which I did) then /etc/hosts remains stuck at "puppypc" instead of the new name you chose. And that is a problem.

You will do just fine if you are okay calling your computer "puppypc".

Post Reply