Bekleme modundan itibaren son uyanmadan bu yana çalışma süresi nasıl bulunur?


29

Bekleme modundan itibaren çıktıktan sonra çalışma süresini bilmek istiyorum.

Komut uptimeyalnızca geçerli zaman eksi son başlangıç ​​zamanı arasındaki farkı gösterir.

Yanıtlar:


30

In /var/log/pm-suspend.log, buna benzeyen son satırı arayın:

Sun Dec 16 09:30:31 CET 2012: Awake.

Bu senin son uyandırma zamanın. Çalışma zamanınızı o zamandan beri, Paul'ün önerdiği şekilde hesaplayabilirsiniz.

Periyodik olarak, logrotatefazla büyümelerini engellemek için günlükleri "döndürürsünüz", böylece boş bir pm-suspend.logdosya bulabilirsiniz . Bu durumda, sadece pm-suspend.log.1dosyayı aramanız yeterlidir ( pm-suspend.log.2.gzve benzeri isimlerdeki diğer günlük dosyalarını da bulabilirsiniz ; zcatya da kullanarak onları inceleyebilirsiniz zless).


bu benim için çalıştı
Jacek Pietal

5
Ya pm-suspend.logboşsa? :(
cprn

1
Ayrıca yaklaşık damgası askıya bakım ise kullanım:cat /var/log/pm-suspend.log /var/log/pm-suspend.log.1 | grep -B1 Awake; echo "--"; zcat /var/log/pm-suspend.log.*.gz | grep -B1 Awake
webbertiger

2
Bilgisayarımda böyle bir dosya yok (Ubuntu 16.04 LTS çalıştıran)
Ramon Suarez 13

Dosya yalnızca pm-suspend uygulamasını yüklediyseniz bulunur. Fakat örneğin Kubuntu, dizüstü bilgisayarı kapattıktan sonra da askıya alındı ​​durumuna gidiyor. Sonra pm askıya alma dosyası boştur.
dmatej

15

Systemd çalıştıran masaüstleri / sunucular için, doğrudan bilgiyi (bildiğim kadarıyla) anlatan doğrudan bir komut bulunmamakla birlikte, tüm veriler günlükte toplanır.

Günlüğü grep edebilirsiniz, örneğin:

echo ">> [SUSPEND] Times during current boot"
journalctl -b 0 |grep "]: Suspending system..."
echo ">> [WAKE] Times during current boot"
journalctl -b 0 |grep "PM: Finishing wakeup"

Veya, fantezi çıktı için, bir python3 betiği yazdım (Fedora 23'te gayet iyi çalışıyor) Örnek çıktı:

Initial Boot Timestamp:  2016-01-15 09:31:32 

     Wake Timestamp     |    Suspend Timestamp   |       Awake Time       |
  --------------------  |  --------------------  |  --------------------  |
   2016-01-15 09:31:32  |   2016-01-15 09:36:03  |          0h  4m        |
   2016-01-15 09:36:22  |   2016-01-15 19:15:04  |          9h 38m        |
   2016-01-15 19:22:21  |   2016-01-15 20:00:05  |          0h 37m        |
   ...
   -------------------  |  --------------------  |  --------------------  | 

Summary: Days Since Boot [8.23] | Days Awake [4.14] | Suspend/Wake Cycles: [28]

Senaryo github'da. github repo bağlantısı


1
Bu benim için Ubuntu
16.04'te

Günlüğü kontrol edebileceğimizi bilmek güzel.
Shiplu Mokaddim,

journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1Sadece son
uyanış

13

Pm-suspend programı, bilgisayarı nasıl askıya alacağınız tek seçenek değildir. Bu program günlüğüm artık boş, ancak daha güvenilir bir komut buldum:

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed"

Ve çıktı:

Oct  2 09:11:48 dmatej-lenovo systemd-sleep[931]: Suspending system...
Oct  2 09:53:10 dmatej-lenovo systemd-sleep[931]: System resumed.
Oct  2 15:02:48 dmatej-lenovo systemd-sleep[27516]: Suspending system...
Oct  2 16:07:19 dmatej-lenovo systemd-sleep[27516]: System resumed.
Oct  2 16:32:48 dmatej-lenovo systemd-sleep[29622]: Suspending system...
Oct  2 17:16:41 dmatej-lenovo systemd-sleep[29622]: System resumed.
Oct  3 00:24:58 dmatej-lenovo systemd-sleep[21316]: Suspending system...
Oct  3 08:17:22 dmatej-lenovo systemd-sleep[21316]: System resumed.
Oct  3 09:09:25 dmatej-lenovo systemd-sleep[24739]: Suspending system...
Oct  3 09:50:47 dmatej-lenovo systemd-sleep[24739]: System resumed.

1

adımların cevabını daha iyi değiştirdi

grep ': Awake' /var/log/pm-suspend.log

Düzenle haha ​​Yorumlar için teşekkürler: D


Ve bir işe yaramaz catnokta kullanımı kazandınız !
gniourf_gniourf

'Kedinin' işe yaramaz kullanımı için hiçbir olumlu yön yok.
Magellan

1

Makinemde pm-suspend.log yoktu.

Bu benim için çalıştı:

/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1

Ayrıca bilgisayarı uyandıran şeyi söylüyor. :-)


1
Ya hiçbir komut pmsetbulunamazsa ve böyle bir dosya yoksa pmsetve pm-suspend.logboşsa? :(
cprn

pm-suspend.logeksikti ve bu benim için işe yarıyor (
iMac'imde

1
Bu sadece Mac içindir
plaisthos

0

Bekleme modunu başlatmak için ne kullanıyorsunuz?

Bir komut dosyası kullanabilirseniz, satırdan sonra

echo -n "standby" > /proc/acpi/sleep

çizgiyi alabilirsin

echo `date +%s` >> /var/log/wakeups.log

Veya benzeri. Bu, makinenin uyandığında yaptığı ilk şey, geçerli saat ve tarihi bir günlük dosyasına yazmaktır (çağdan beri n saniye).

O tail -1 /var/log/wakeups.logzaman sana son kez veririm. Bunu, son uyanmadan bu yana saniye alabilmek için bu andaki zamandan çıkarabilirsiniz.


0

/ Var / log / messages'de "PM: tamamlanan aygıtların geri yüklenmesi" dizesinin son oluşumunu arayın. Makineniz çok uzun süredir kaldıysa, günlük yine de döndürülebilir.



0

Uzatma Adımları yanıtı:

grep Awake /var/log/pm-suspend.log | tail -1

Bu, son uyandırma zamanı ile sırayı alacaktır.


0

Bunu yapmanın çok sağlam bir yol olduğunu düşünüyorum:

systemd[1]: Started Run anacron jobs at resume

İşletim sistemi anakronu başladığında arayın, ancak makine açıldığında


0

Bu cevapların hiçbiri benim için çalıştı. Ancak, bunun için yapılanın yararlı olduğunu gördüm sleep.target:

$ journalctl -n4 -u sleep.target
nov. 17 17:16:37 kaa systemd[1]: Reached target Sleep.
nov. 17 18:46:22 kaa systemd[1]: Stopped target Sleep.
nov. 17 19:27:31 kaa systemd[1]: Reached target Sleep.
nov. 17 19:45:21 kaa systemd[1]: Stopped target Sleep.

-1

Fedora üzerinde ripgrep kullanarak

rg Suspend /var/log/messages

sonuç:

34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.