Sehr langsam nach dem Suspendieren unter Ubuntu 17.10

Sehr langsam nach dem Suspendieren unter Ubuntu 17.10

Ich habe gestern ein Update auf Ubuntu 17.10 durchgeführt und es ist sehr langsam, wenn ich den Computer anhalte und wieder aufwecke. Zum Beispiel dieser Befehl:

time docker-compose run web rspec --color spec/models/user_spec.rb:7

Dauert 5 Sekunden vor dem Suspendieren und 1,47Protokollnach.

Ich habe nachgefragt gnome-system-monitorund alles scheint normal zu sein.

Ich habe einige Benchmarks durchgeführt und habe vor der Unterbrechung dieses Ergebnis erhalten:

~ sysbench cpu --threads=4 run

    WARNING: --num-threads is deprecated, use --threads instead
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Prime numbers limit: 10000

    Initializing worker threads...

    Threads started!

    CPU speed:
        events per second:  3766.37

    General statistics:
        total time:                          10.0009s
        total number of events:              37672

    Latency (ms):
             min:                                  1.02
             avg:                                  1.06
             max:                                 10.94
             95th percentile:                      1.10
             sum:                              39990.91

    Threads fairness:
        events (avg/stddev):           9418.0000/36.06
        execution time (avg/stddev):   9.9977/0.00

~ sysbench memory --threads=4 run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Running memory speed test with the following options:
      block size: 1KiB
      total size: 102400MiB
      operation: write
      scope: global

    Initializing worker threads...

    Threads started!

    Total operations: 104857600 (12034664.21 per second)

    102400.00 MiB transferred (11752.60 MiB/sec)


    General statistics:
        total time:                          8.7111s
        total number of events:              104857600

    Latency (ms):
             min:                                  0.00
             avg:                                  0.00
             max:                                  6.78
             95th percentile:                      0.00
             sum:                              21761.44

    Threads fairness:
        events (avg/stddev):           26214400.0000/0.00
        execution time (avg/stddev):   5.4404/0.06

~ sysbench fileio --file-total-size=15G --file-test-mode=rndrw --max-requests=0 --file-num=64 --threads=4 run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Extra file open flags: 0
    64 files, 240MiB each
    15GiB total file size
    Block size 16KiB
    Number of IO requests: 0
    Read/Write ratio for combined random IO test: 1.50
    Periodic FSYNC enabled, calling fsync() each 100 requests.
    Calling fsync() at the end of test, Enabled.
    Using synchronous I/O mode
    Doing random r/w test
    Initializing worker threads...

    Threads started!


    File operations:
        reads/s:                      83.32
        writes/s:                     55.38
        fsyncs/s:                     85.50

    Throughput:
        read, MiB/s:                  1.30
        written, MiB/s:               0.87

    General statistics:
        total time:                          10.0912s
        total number of events:              2263

    Latency (ms):
             min:                                  0.00
             avg:                                 17.78
             max:                                584.69
             95th percentile:                     92.42
             sum:                              40229.56

    Threads fairness:
        events (avg/stddev):           565.7500/61.92
        execution time (avg/stddev):   10.0574/0.03

~ sysbench threads --threads=4 run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Initializing worker threads...

    Threads started!


    General statistics:
        total time:                          10.0002s
        total number of events:              203148

    Latency (ms):
             min:                                  0.14
             avg:                                  0.20
             max:                                  6.25
             95th percentile:                      0.21
             sum:                              39963.81

    Threads fairness:
        events (avg/stddev):           50787.0000/116.11
        execution time (avg/stddev):   9.9910/0.00

~ sysbench mutex run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 1
    Initializing random number generator from current time


    Initializing worker threads...

    Threads started!


    General statistics:
        total time:                          0.1467s
        total number of events:              1

    Latency (ms):
             min:                                146.63
             avg:                                146.63
             max:                                146.63
             95th percentile:                    147.61
             sum:                                146.63

    Threads fairness:
        events (avg/stddev):           1.0000/0.00
        execution time (avg/stddev):   0.1466/0.00

Und das danach:

~ sysbench cpu --threads=4 run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Prime numbers limit: 10000

    Initializing worker threads...

    Threads started!

    CPU speed:
        events per second:  3746.73

    General statistics:
        total time:                          10.0005s
        total number of events:              37474

    Latency (ms):
             min:                                  1.02
             avg:                                  1.07
             max:                                 12.04
             95th percentile:                      1.16
             sum:                              39992.93

    Threads fairness:
        events (avg/stddev):           9368.5000/452.12
        execution time (avg/stddev):   9.9982/0.00

~ sysbench memory --threads=4 run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Running memory speed test with the following options:
      block size: 1KiB
      total size: 102400MiB
      operation: write
      scope: global

    Initializing worker threads...

    Threads started!

    Total operations: 104857600 (11640930.78 per second)

    102400.00 MiB transferred (11368.10 MiB/sec)


    General statistics:
        total time:                          9.0057s
        total number of events:              104857600

    Latency (ms):
             min:                                  0.00
             avg:                                  0.00
             max:                                  6.41
             95th percentile:                      0.00
             sum:                              21740.13

    Threads fairness:
        events (avg/stddev):           26214400.0000/0.00
        execution time (avg/stddev):   5.4350/0.12

~ sysbench fileio --file-total-size=15G --file-test-mode=rndrw --max-requests=0 --file-num=64 --threads=4 run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Extra file open flags: 0
    64 files, 240MiB each
    15GiB total file size
    Block size 16KiB
    Number of IO requests: 0
    Read/Write ratio for combined random IO test: 1.50
    Periodic FSYNC enabled, calling fsync() each 100 requests.
    Calling fsync() at the end of test, Enabled.
    Using synchronous I/O mode
    Doing random r/w test
    Initializing worker threads...

    Threads started!


    File operations:
        reads/s:                      3.93
        writes/s:                     2.52
        fsyncs/s:                     1.81

    Throughput:
        read, MiB/s:                  0.06
        written, MiB/s:               0.04

    General statistics:
        total time:                          15.4994s
        total number of events:              128

    Latency (ms):
             min:                                  0.00
             avg:                                428.29
             max:                               6760.00
             95th percentile:                   1771.29
             sum:                              54820.53

    Threads fairness:
        events (avg/stddev):           32.0000/7.18
        execution time (avg/stddev):   13.7051/2.10


~ sysbench threads --threads=4 run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 4
    Initializing random number generator from current time


    Initializing worker threads...

    Threads started!


    General statistics:
        total time:                          10.0002s
        total number of events:              201233

    Latency (ms):
             min:                                  0.14
             avg:                                  0.20
             max:                                 11.33
             95th percentile:                      0.22
             sum:                              39965.00

    Threads fairness:
        events (avg/stddev):           50308.2500/318.90
        execution time (avg/stddev):   9.9913/0.00

~ sysbench mutex run
    sysbench 1.0.8 (using system LuaJIT 2.0.4)

    Running the test with following options:
    Number of threads: 1
    Initializing random number generator from current time


    Initializing worker threads...

    Threads started!


    General statistics:
        total time:                          0.1603s
        total number of events:              1

    Latency (ms):
             min:                                160.21
             avg:                                160.21
             max:                                160.21
             95th percentile:                    161.51
             sum:                                160.21

    Threads fairness:
        events (avg/stddev):           1.0000/0.00
        execution time (avg/stddev):   0.1602/0.00

Ich sehe, dass der wichtigste Unterschied Fileio betrifft.Edit: Ich habe mich geirrt. Ich habe den Test noch einmal gemacht und es total number of events: 1282scheint, als wäre er dem ersten Test ähnlich.

Ich habe diesen Test gemacht, um mehr Informationen zu erhalten:

~ dd if=/dev/zero of=./largefile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.2191 s, 881 MB/s
➜ dd if=./largefile of=/dev/null bs=4k
262144+0 records in
262144+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.174457 s, 6.2 GB/s

Es scheint richtig zu sein.

Ich habedies mitdmesg.

Hier sind die wichtigsten Zeilen:

[  117.822557] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20170531/psargs-364)
[  117.822561] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.CHN1.DRV0._GTF, AE_NOT_FOUND (20170531/psparse-550)
[  117.822577] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20170531/psargs-364)
[  117.822579] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.CHN1.DRV1._GTF, AE_NOT_FOUND (20170531/psparse-550)
[  117.822621] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20170531/psargs-364)
[  117.822623] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.CHN0.DRV0._GTF, AE_NOT_FOUND (20170531/psparse-550)
[  117.822793] rtc_cmos 00:02: Alarms can be up to one month in the future
[  119.168408] ata1.01: failed to resume link (SControl 30)
[  119.323036] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20170531/psargs-364)
[  119.323043] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.CHN0.DRV0._GTF, AE_NOT_FOUND (20170531/psparse-550)
[  120.781116] done.
[  123.636265] ata2.00: link is slow to respond, please be patient (ready=0)
[  127.848898] ata2.00: SRST failed (errno=-16)
[  129.051082] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20170531/psargs-364)
[  129.051093] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.CHN1.DRV1._GTF, AE_NOT_FOUND (20170531/psparse-550)
[  129.205049] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20170531/psargs-364)
[  129.205059] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.CHN1.DRV0._GTF, AE_NOT_FOUND (20170531/psparse-550)

Es scheint, dass es Probleme mit ata2 und ACPI gibt. Ich nehme an, das hängt damit zusammen, aber ich weiß nicht, was ich tun soll. Diese Zeilen erscheinen nur, wenn ich in den Ruhezustand gehe und zurückkehre.

Hier sind Informationen zu meinem System

Linux oscar 4.13.0-16-lowlatency #19-Ubuntu SMP PREEMPT Wed Oct 11 19:51:52 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Haben Sie irgendwelche Hinweise?

Antwort1

Ich habe eine Lösung gefunden, die für mich funktioniert hat (Ubuntu 20.04, DELL XPS 15).Hier. Es scheint auf vielen Systemen zu funktionieren (ich habe Ubuntu 15.04, 16.04, 18.04 und einige Archlinux-Versionen gesehen), also besteht eine gute Chance, dass es auch auf Ihrem System funktioniert.

Versuchen Sie zusammenfassend Folgendes:

sudo apt install msr-tools
sudo modprobe msr
sudo rdmsr -a 0x19a

Wenn das letzte Kommando nicht nur s zurückgibt 0(in meinem Fall gab es achtmal s zurück 10), führen Sie Folgendes aus:

sudo wrmsr -a 0x19a 0x0

Die Dinge sollten sofort schneller werden. Außerdem rdmsrsollte es beim erneuten Ausführen auf die gleiche Weise wie oben beschrieben jetzt nur noch 0s zurückgeben.

verwandte Informationen