Dell Laptop torna-se 10x mais lento quando não está na sua própria estação de ancoragem

1

Foram meses em que percebi que meu laptop Dell [Ubuntu 16.04] estava subitamente mais lento, mas agora o rastreio acontece quando eu o desconecto de sua própria estação de acoplamento. Não parece estar relacionado com meias de energia ou sem internet, pois tenho o mesmo problema, por ex. quando eu trabalho do trem com o laptop conectado à meia .. é só quando está fora da sua estação de encaixe .. Veja a seguinte sessão de console onde eu benchmark uma função dummy usando Julia (o problema não está em Julia .. Eu tenho problemas também em compilar pdf grande de LaTeX em qualquer outro problema computacionalmente-intensivo). Não parece haver nenhum problema em outros processos que consomem CPU ou memória.

$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _' |  |
  | | |_| | | | (_| |  |  Version 0.5.1 (2017-03-05 13:25 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu


julia> function f(n)
       s = 0
       for i = 1:n
       s += i/2
       end
       s
       end
f (generic function with 1 method)

julia> @time f(100000000)
  1.948031 seconds (300.00 M allocations: 4.470 GB, 14.57% gc time)
2.500000025e15

julia> @time f(100000000)
  1.771005 seconds (300.00 M allocations: 4.470 GB, 7.27% gc time)
2.500000025e15

julia> @time f(100000000)
  1.764294 seconds (300.00 M allocations: 4.470 GB, 7.00% gc time)
2.500000025e15

julia> @time f(100000000)
  1.776455 seconds (300.00 M allocations: 4.470 GB, 7.06% gc time)
2.500000025e15

julia> @time f(100000000)
  1.791494 seconds (300.00 M allocations: 4.470 GB, 7.12% gc time)
2.500000025e15

julia> @time f(100000000) # here I unplug the laptop from the docking station
 11.927460 seconds (300.00 M allocations: 4.470 GB, 5.56% gc time)
2.500000025e15

julia> @time f(100000000)
 12.201062 seconds (300.00 M allocations: 4.470 GB, 5.50% gc time)
2.500000025e15

julia> @time f(100000000) # here I plugged the power cord directly to the laptop
 11.839180 seconds (300.00 M allocations: 4.470 GB, 5.62% gc time)
2.500000025e15

julia> @time f(100000000) # here I removed internet conection, including wifi
 11.860953 seconds (300.00 M allocations: 4.470 GB, 5.65% gc time)
2.500000025e15

julia> @time f(100000000) # here I plugged back the laptop on the deck
 11.789184 seconds (300.00 M allocations: 4.470 GB, 5.63% gc time)
2.500000025e15

julia> @time f(100000000) # here I switched the keyboqrd to English lqnguqge
 11.857721 seconds (300.00 M allocations: 4.470 GB, 5.68% gc time)
2.500000025e15

julia> @time f(100000000) # here I closed the screen of the laptop and worked back on the main screen
 12.001792 seconds (300.00 M allocations: 4.470 GB, 5.63% gc time)
2.500000025e15

julia> @time f(100000000) # here I am back to ethernet
 11.865361 seconds (300.00 M allocations: 4.470 GB, 5.71% gc time)
2.500000025e15

julia> exit()
$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _' |  |
  | | |_| | | | (_| |  |  Version 0.5.1 (2017-03-05 13:25 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

julia> @time f(100000000) # here I went off and on Julia
ERROR: UndefVarError: f not defined

julia> function f(n)
              s = 0
              for i = 1:n
              s += i/2
              end
              s
              end
f (generic function with 1 method)

julia> @time f(100000000) # here I went off and on Julia
 12.809319 seconds (300.00 M allocations: 4.470 GB, 11.16% gc time)
2.500000025e15

julia> @time f(100000000) # here after lot of time (lunch break)
 11.916337 seconds (300.00 M allocations: 4.470 GB, 5.49% gc time)
2.500000025e15

julia> quit()
$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _' |  |
  | | |_| | | | (_| |  |  Version 0.5.1 (2017-03-05 13:25 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

julia> @time f(100000000) # here after suspended the pc and julia stop/restart
ERROR: UndefVarError: f not defined

julia> function f(n)
              s = 0
              for i = 1:n
              s += i/2
              end
              s
              end
f (generic function with 1 method)

julia> @time f(100000000) # here after suspended the pc and julia stop/restart
  1.952593 seconds (300.00 M allocations: 4.470 GB, 14.26% gc time)
2.500000025e15

julia> @time f(100000000) # here after suspended the pc and julia stop/restart
  1.824997 seconds (300.00 M allocations: 4.470 GB, 6.34% gc time)
2.500000025e15

julia> 

EDITADO: A seguinte transcrição mostra algo interessante .. no anterior desligue da docking station Eu fiz isso com a tela fechada, agora eu despluguei com a tela ligada e desta forma ele funciona .. até eu remover o plugue e faça um suspender / retomar .. então não funciona, aí eu plico a energia, faço um suspender / retomar e funciona bem de novo ... parece que vai no modo de baixo consumo e não importa se você reconectar a energia, você também precisa dar ao laptop uma suspensão / retomada para que o laptop perceba que ele está conectado ...

 quit()
lobianco@lobianco-officeLinux:~/Dropbox/Documenti/Varie/lef/papers/ffsm++/versions/07_carbon_balance_with_multipliers$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _' |  |
  | | |_| | | | (_| |  |  Version 0.5.1 (2017-03-05 13:25 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

julia> function f(n)
              s = 0
              for i = 1:n
              s += i/2
              end
              s
              end
f (generic function with 1 method)

julia> @time f(100000000) # after switched off internet and moved back to french
  1.939228 seconds (300.00 M allocations: 4.470 GB, 13.96% gc time)
2.500000025e15

julia> @time f(100000000) # after switched off internet and moved back to french
  1.761612 seconds (300.00 M allocations: 4.470 GB, 6.42% gc time)
2.500000025e15

julia> @time f(100000000) # after unplugged power but still laptop on his own deck
  1.775432 seconds (300.00 M allocations: 4.470 GB, 6.30% gc time)
2.500000025e15

julia> @time f(100000000) # after removing laptop from the deck (still unplugged)
  1.770068 seconds (300.00 M allocations: 4.470 GB, 6.28% gc time)
2.500000025e15

julia> @time f(100000000) # after removing laptop from the deck (still unplugged)
  1.744716 seconds (300.00 M allocations: 4.470 GB, 6.32% gc time)
2.500000025e15

julia> @time f(100000000) # after suspend/resume
 11.743261 seconds (300.00 M allocations: 4.470 GB, 5.28% gc time)
2.500000025e15

julia> @time f(100000000) # after plugging the power (still disconnected from deck)
 11.722175 seconds (300.00 M allocations: 4.470 GB, 5.30% gc time)
2.500000025e15

julia> @time f(100000000) # after suspend/resume
  1.770605 seconds (300.00 M allocations: 4.470 GB, 6.29% gc time)
2.500000025e15

julia> 
    
por Antonello 08.06.2017 / 14:05

1 resposta

2

Posso finalmente afirmar que está relacionado ao fato de estar desconectado da tomada. O laptop muda para o modo de conservação de baixa energia, mas percebe qualquer alteração somente quando é suspenso / retomado.

Então, se, por exemplo, o laptop estiver em sua própria estação de acoplamento, o plugue está conectado à docking station e a tampa da tela está fechada (enquanto eu trabalho com tela / teclado externos) e eu removo o laptop, coloque ligado, e mude o cabo da estação de ancoragem para o laptop (que é o meu comportamento padrão), o laptop continuará a operar no modo de baixa energia, pois não teria ficha de alimentação. Eu preciso então suspender / reiniciar o laptop para que ele perceba que ele está conectado de volta (ou, alternativamente, mova o plugue da estação de acoplamento para o laptop antes de remover o laptop da estação de acoplamento).

Em todos os casos, eu acredito que é um bug do Ubuntu, como o laptop deve perceber em tempo real, se ele está conectado ao socket ou não, e não apenas quando é suspenso / retomado ..

    
por Antonello 08.06.2017 / 14:53