I use Linux Mint 16 Petra 64bit Cinnamon. When I install Skype (either from repo, or directly from Microsoft) it soon starts using 100% of 1 CPU Core, doubling power consumption of my system.
I tried removing the ~/.skype
folder and logging with different account.
I tried removing the skype from repositories and install it directly from Microsoft.
Is there anything I can do to troubleshoot and fix this problem?
I can't reproduce this problem with older Mints, nor with Ubuntu Saucy and Raring.
The doesn't manifest itself, if I launch skype and never log in (keep skype displaying the login screen). But if the skype was logged in before and had the high CPU consumption - clicking "Sign Out" doesn't help the problem (besides even if it did, there is little point in using skype without logging in)
Following the advise of @slm I can include the strace
output. It seems that Skype is busy doing poll
syscall... I thought that polling for resource introduces processor idling, not 100% usage.
strace -c skype
[ Process PID=31614 runs in 32 bit mode. ]
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
0.00 0.000000 0 1 execve
------ ----------- ----------- --------- --------- ----------------
100.00 0.000000 1 total
System call usage summary for 32 bit mode:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
96.95 45.349256 493 92056 poll
1.26 0.588104 2 279026 clock_gettime
0.99 0.462877 3 183996 182979 recv
0.33 0.156517 2 79850 468 stat64
0.30 0.138574 2 79740 gettimeofday
0.10 0.047275 45 1040 174 futex
0.04 0.020046 1671 12 nanosleep
0.01 0.003025 4 792 writev
0.00 0.002037 2 871 write
0.00 0.001928 3 692 143 read
0.00 0.001482 2 944 561 open
0.00 0.000591 2 333 238 access
0.00 0.000584 1 466 mmap2
0.00 0.000577 1 421 madvise
0.00 0.000485 1 431 close
0.00 0.000462 4 120 munmap
0.00 0.000378 3 115 mprotect
0.00 0.000372 4 86 fstatfs64
0.00 0.000269 1 263 fstat64
0.00 0.000175 3 66 29 recvmsg
0.00 0.000113 1 121 time
0.00 0.000108 1 113 5 lstat64
0.00 0.000082 3 29 getdents64
0.00 0.000056 2 30 fadvise64_64
0.00 0.000047 3 15 openat
0.00 0.000046 15 3 shmdt
0.00 0.000045 2 24 sendmsg
0.00 0.000038 2 22 clone
0.00 0.000037 1 33 socket
0.00 0.000032 2 13 _llseek
0.00 0.000032 11 3 shmat
0.00 0.000032 11 3 shmget
0.00 0.000031 1 29 brk
0.00 0.000027 5 6 shmctl
0.00 0.000015 2 9 send
0.00 0.000013 0 27 fcntl64
0.00 0.000011 2 6 2 connect
0.00 0.000007 2 3 readlink
0.00 0.000007 1 13 rt_sigaction
0.00 0.000005 1 4 geteuid32
0.00 0.000005 1 4 getsockname
0.00 0.000003 0 10 uname
0.00 0.000003 3 1 eventfd2
0.00 0.000003 3 1 pipe2
0.00 0.000002 2 1 set_tid_address
0.00 0.000002 2 1 getpeername
0.00 0.000001 1 2 rt_sigprocmask
0.00 0.000001 1 2 getrlimit
0.00 0.000001 1 2 clock_getres
0.00 0.000001 1 1 set_robust_list
0.00 0.000000 0 2 unlink
0.00 0.000000 0 2 chmod
0.00 0.000000 0 3 3 mkdir
0.00 0.000000 0 1 pipe
0.00 0.000000 0 22 ioctl
0.00 0.000000 0 1 umask
0.00 0.000000 0 4 statfs
0.00 0.000000 0 4 fstatfs
0.00 0.000000 0 2 flock
0.00 0.000000 0 3 getuid32
0.00 0.000000 0 1 getgid32
0.00 0.000000 0 1 getegid32
0.00 0.000000 0 1 getresuid32
0.00 0.000000 0 1 getresgid32
0.00 0.000000 0 2 gettid
0.00 0.000000 0 1 sched_getaffinity
0.00 0.000000 0 1 set_thread_area
0.00 0.000000 0 4 1 bind
0.00 0.000000 0 1 listen
0.00 0.000000 0 2 sendto
0.00 0.000000 0 1 shutdown
------ ----------- ----------- --------- --------- ----------------
100.00 46.775820 721911 184603 total
When I attach strace to running skype with sudo strace -p $(pgrep skype)
I get tons of the following entries:
clock_gettime(CLOCK_MONOTONIC, {7553, 920730509}) = 0
recv(6, 0xf967e5a8, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {7553, 920937548}) = 0
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=6, events=POLLIN}, {fd=9, events=POLLIN}, {fd=12, events=POLLIN}, {fd=28, events=POLLIN}], 6, 0) = 0 (Timeout)
recv(6, 0xf967e5a8, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {7553, 921039735}) = 0
recv(6, 0xf967e5a8, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {7553, 921089170}) = 0
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=6, events=POLLIN}, {fd=9, events=POLLIN}, {fd=12, events=POLLIN}, {fd=28, events=POLLIN}], 6, 0) = 0 (Timeout)