[linux] Trage start software Linux Mint

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Ma Nov 30 22:21:43 CET 2020


Aldus schreef Daniel C. von Asmuth op Sun, Nov 29, 2020 at 12:02:40PM +0100:
> Aldus schreef harry.harmsen op gmail.com op Sat, Nov 28, 2020 at 08:05:00PM +0100:
> > Op za 28 nov. 2020 om 16:51 schreef Daniel C. von Asmuth <
> > > Aldus schreef harry.harmsen op gmail.com op Sat, Nov 28, 2020 at 12:33:53PM
> > > >
> > > > Sinds een aantal dagen starten in mijn Linux Mint 20 een aantal
> > > programma's
> > > > nogal traag op. Het duurt echt meer dan 10 seconden nadat ik een
> > > programma
> > > > heb aangeklikt voordat het opstart. Bijvoorbeeld Oracle Virtual Box en
> > > > Master PDF Editor.
> > > >
[....]
> > 
> > Als ik in de terminal VLC opstart duurt het ook lang voordat VLC opent.
> > (terminal:
> > harry op harry-System:~$ vlc
> > VLC media player 3.0.9.2 Vetinari (revision 3.0.9.2-0-gd4c1aefe4d)
> > [000055920e69e5b0] main libvlc: Vlc draait met de standaardinterface.
> > Gebruik 'cvlc' om vlc zonder interface te gebruiken.
> > qt5ct: using qt5ct plugin
> > qt5ct: D-Bus global menu: no
> > qt5ct: D-Bus system tray: yes
> > [000055920e72be50] main playlist: playlist is empty)
> > Libreoffice opstarten in de terminal gaat wel weer snel, net als wanneer ik
> > dat via het menu van Linux Mint doe.

Een manier om zoiets te onderzoeken is met het volgende commando:

	strace -T -o trace.txt vlc

Type 'man strace' voor een uitleg.

Dan wordt een 'trace' van uitgevoerde system calls weggeschreven naar het
bestand trace.txt. Achter elke call wordt de tijd die Linux ervoor nodig
had om ze uit te voeren afgedruit. De clou is dan om te zoeken naar system
calls die veel tijd kostten. We gokken dan dat het programma moest wachten
in kernel mode (en dus niet alle tijd in user mode spendeerde).

De trace file kan er uitzien als:

execve("/bin/libreoffice", ["libreoffice"], [/* 68 vars */]) = 0 <0.000168>
brk(0)                                  = 0x8b2000 <0.000022>
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f53155bc000 <0.000023>
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory) <0.000024>
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.000030>
fstat(3, {st_mode=S_IFREG|0644, st_size=174187, ...}) = 0 <0.000023>
mmap(NULL, 174187, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5315591000 <0.000026>
close(3)                                = 0 <0.000022>
open("/lib64/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3 <0.000030>
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\321\0\0\0\0\0\0"..., 832) = 832 <0.000022>
fstat(3, {st_mode=S_IFREG|0755, st_size=173032, ...}) = 0 <0.000021>
mmap(NULL, 2268896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5315175000 <0.000032>
mprotect(0x7f531519b000, 2093056, PROT_NONE) = 0 <0.000026>
mmap(0x7f531539a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f531539a000 <0.000025>
close(3)                                = 0 <0.000021>
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 <0.000026>
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832 <0.000023>
fstat(3, {st_mode=S_IFREG|0755, st_size=15856, ...}) = 0 <0.000021>
mmap(NULL, 2109712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5314f71000 <0.000024>
mprotect(0x7f5314f74000, 2093056, PROT_NONE) = 0 <0.000026>
mmap(0x7f5315173000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f5315173000 <0.000029>
close(3)                                = 0 <0.000022>
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 <0.000026>
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\35\2\0\0\0\0\0"..., 832) = 832 <0.000021>
fstat(3, {st_mode=S_IFREG|0755, st_size=2077352, ...}) = 0 <0.000022>

......

Er komt een klein beetje Unix ervaring bij kijken, maar als eerste kijkt u naar
de tijden die aan het einde tussen <hoekjes> staan. U mag de trace naar de lijst
sturen.

> > 
> > Groet,
> > Harry Harmsen
> > Assen
> 

Suc6,


Daniel

-- 
	
		How long it takes to reach your goal
		depends less on your speed than on your direction.


Meer informatie over de Linux maillijst