タグ付けされた質問 「time」

「time」は、別のプログラムを実行してリソースの使用状況を要約するためのコマンドラインユーティリティです。

1
なぜ `strace`はこのプロセスが何かを待っていることを示さないのですか?
強大なstrace私を失望させた。これはどのようにして可能ですか? time fooこれは、foo実行に数秒かかる( "実際の")が、ユーザー空間( "user")とカーネル( "sys")の両方で無視できるCPU時間を使用することを示しています。好奇心のために、foo以下に定義されています。 そのため、CPU命令を実行するのではなく、他の何かを待つのにほとんどの時間を費やしています。通常、私はそれがどのように待っているかを見ることができますstrace-つまり、どのシステムコールが長期間ブロックしているのか。残念ながら、このアプローチは機能しませんでした。 strace -ttt -T -C -w fooは、システムコール、タイムスタンプ、およびシステムコールに費やされた(実際の)時間の概要を示しています。しかし、この特定のプロセスは、システムコールの内部で費やされる全体(実)時間はごくわずかであることを示しました。 fooですjournalctl -b -u dev-hugepages.mount。これを再現するために、毎回異なるsystemdユニットへの最後の引数を変更しなければならなかったことを除いて。つまり、調査対象の遅延は、あるsystemdユニットのログを取得しようとしたときに初めて発生しました。 編集:主な質問に答えた後、私はこの遅延を再現する問題が発生している理由にも気付きました。 このプロセスに費やされる時間は特定の問題であり、明らかにすべてのシステムで発生するわけではありません。https://github.com/systemd/systemd/issues/7963

4
スクリプトの実行にかかる時間を測定し、それを生成するメールに含めるにはどうすればよいですか?
私は一連のチェック(走る、簡単なbashスクリプト持っているping、nslookupなど)をし、そのデータの出力と電子メールレポートを送信します。 スクリプト全体の実行にかかった時間に関する情報をメールに含めたいです。その情報を収集する簡単な方法はありますか?


4
すべてのコマンドに「追加された」エイリアスを強制する
のすべてのコマンドにタイミングエイリアスを強制的に追加することはできbashますか(それを表現するためのより良い方法がないため)? たとえば、特定のユーザーがコマンドを実行するたびに、常にdate前後またはでラップされるようにしたいと考えていますtime。 これは可能ですか?可能な場合、どのようにですか?
11 bash  monitoring  alias  date  time 

4
Linuxシステムの時間は一時的にジャンプします
一部の(ハードウェア)サーバーで奇妙なシステム時刻の変更動作を見ました。次のように/var/logs/syslog、各ログメッセージの前の日付時刻が時々ランダムに変わり、次のメッセージで通常に戻ります。 Feb 22 2018 09:09:30 ... Feb 22 2018 09:09:32 ... Jan 13 2610 15:37:42 ... Feb 22 2018 09:09:33 ... Feb 22 2018 09:09:34 ... 例のように、日付時刻の突然の変化は、何百年も離れている可能性があります。 奇妙なタイムスタンプを持つログメッセージが特定のプロセスからのものではないことを確認できます。それは、すべてのプロセスでランダムに発生する可能性があります。 また、2つの異常な時間の変化の間の期間は数分から数時間の間で変化します(ただし、異常な時間の変化はより頻繁に発生する可能性がありますが、ログの書き込みが毎秒行われないため、それらの多くはsyslogに表示されません)。 また、複数のサーバーで発生するので、ハードウェアの問題ではないと思います。 サーバーに関する詳細:1つのコントローラーといくつかの計算ノードを備えたOpenStackインストールです。各サーバーでntpサービスが実行されています。コントローラーは、それ自体のハードウェアクロックから時間がかかるように構成され、計算ノードサーバーは、コントローラーからの時間を同期します。各サーバーには独自のペースで異常な時間の変化があることに注意してください。「間違った時間」はコントローラーからntpを介して同期されていないようです。 計算ノード上のゲストシステム(仮想マシン)がホストシステムの時間に影響を与える可能性があると考えていました。しかし、これは、仮想マシンを実行していないときにコントローラーに同じ問題がある理由を説明できません。 検出する方法が必要です。システム時刻を変更したのは誰ですか、どのように発生しますか
11 logs  timestamps  time 

3
次に特定の時間になるまで眠る
「4:00」のような特定の時間が次に発生するまでスリープする一連のコマンドまたは単一のコマンドが必要です。 どうすればいいですか? at私は現在てるスクリプトを残してはいけないため、コマンドまたはcronジョブはオプションではありません。 私が話している特定のケースは、画面で実行されているスクリプトです。スクリプトのある時点で必要な多くの重要な変数が格納されているため、スクリプト自体によるスクリプトの実行を停止しないことが非常に重要です。スクリプトは、常に通常の方法で実行されるとは限りません。特定の時間に実行する必要があるだけです。 スクリプトがファイルや、cronjobsやその他の画面などのその他のタスクを作成する必要がある場合、それは非常に有益です。これは単にデザインの問題です。 私はちょうどいい考えを持っていました: difference=$(($(date -d "4:00" +%s) - $(date +%s))) if [ $difference -lt 0 ] then sleep $((86400 + difference)) else sleep $difference fi もっと良いアイデアはありますか? 必要に応じて、さらに情報が追加されます!
11 bash  date  time  sleep 

1
コマンドラインで「時間」を使用する場合の「システム時間」とは
私はUbuntu 14.04の標準端末でスクリプトのtime時間を計るために使用していPerlます。 私はそれがストップウォッチ時間であることを読みましreal timeた。ユーザーとして、プログラムを開始してから終了するまで実行しているプログラムを確認するのに費やしている時間。しかし、私は何が何時userかはわかりませんsys。time控えめに言っても、上のmanページはあいまいです。 それがやや明確であるもののというreal時間は間の分割があるuserとsys、彼らが何を表しているかは明らかではありません。 私のスクリプトでは、C ++とPerlを互いに比較して違いを確認しています。実際に取得しているデータを知りたいのですが。出力例は次のとおりです。 real 0m24.198s user 0m23.120s sys 0m1.030s 誰かがデフォルトの時間形式がユーザーに伝えていることを詳しく説明してくれませんか?私はLinuxの初心者なので、あまり多く考えないでください。 [1]興味深いことに、C ++はreal時間に関して私のベンチマークでPerlよりもはるかに高速ですが、sysC ++は実際にsysはPerlよりも多くの時間を使用しているため、時間にはそれほど違いはありません。これが私が彼らの意味を知りたい理由です
10 time 

2
時間を比較する良い方法は?
現在の時刻を確認し、実行するはずの適切な時刻でない場合はスクリプトを中止する必要があります。また、他の誰かがそれを実行した場合、中止する必要があります。 例:午後10時から午前2時(4時間のウィンドウ)の間に開始された場合にのみ、スクリプトを実行する必要があります。 現在、私は以下を行っています。時間をかけdate +%k%Mてハードコードされた数値と比較する #!/bin/sh currTime=`date +%k%M` check_time_to_run() { tempTime=$1 if [ $tempTime -gt 200 -a $tempTime -lt 2200 ]; then echo "Time is between 2 AM and 10 PM. Aborting." exit 1 else echo "Time is after 10 PM and before 2 AM. Running normally." fi } check_time_to_run $currentTime …

1
長時間実行プロセスのps経過時間形式について
ps演習の一部としてコマンドを使用して、特定のしきい値よりも長く実行されているプロセスを特定しています。 次のテンプレートを使用して、knowプロセスコマンドの経過時間を取得しています。 ps -eo etime,command | grep <something to identify a process> | grep -v grep | awk '{print $1}' 実行時間の短いプロセスで、etime(経過時間)の値の形式がわかり、これからプロセスの実行時間minutes:secondsを簡単に判断できます。 非常に長時間実行されるプロセス(数日)の場合、形式がわかりません。 htop126時間実行しているように見えるMySQLサーバープロセスがあります。 実行ps -eo etime,command | grep mysql | grep -v grep | awk '{print $1}'すると、の値が得られます9-03:35:32。 私の推測では、これは9何か、3時間35分32秒という意味です。9の単位がわかりません。 問題のプロセスは126時間、約5.25日実行されています。これは、上記の出力の9が日数を表していないことを示唆しています。(9 * 12)時間+ 3時間+ 35分+ 32秒は5日未満であるため、半日になることもできません。 長時間実行されているプロセスで表示される経過時間の値を解釈するにはどうすればよいですか?上記の出力で9に付随する単位は何ですか?
10 process  time  ps 

5
シェルスクリプトのプロファイルを作成するにはどうすればよいですか?
シェルスクリプトで実行しているプログラムがいくつかあります。 ./myprogram1 ./myprogram2 ... ソースコードを編集して個々のプログラムをプロファイリングできることはわかっていますが、スクリプト自体をプロファイリングすることによって実行された合計時間を測定できる方法があるかどうかを知りたいと思いました。この目的に使用できるタイマープログラムはありますか?もしそうなら、その測定はどのくらい正確ですか?

2
条件付きで「時間」を通じてサブシェルを渡すにはどうすればよいですか?
Vagrantボックスのセットアップスクリプトがあります。これは、でシングルステップを測定するために使用していましたtime。次に、時間測定を条件付きで有効または無効にしたいと思います。 たとえば、以前の行は次のようになります。 time (apt-get update > /tmp/last.log 2>&1) 今、私は単にこのようなことをすることができると思いました: MEASURE_TIME=true [[ $MEASURE_TIME = true ]] && TIME="time --format=%e" || TIME="" $TIME (apt-get update > /tmp/last.log 2>&1) しかし、これはうまくいきません: syntax error near unexpected token `apt-get' `$TIME (apt-get update > /tmp/last.log 2>&1)' ここの問題は何ですか?
9 bash  shell  quoting  time 

2
Arch Linuxでシステムクロックをめちゃくちゃにしました
数日前にArchをインストールしました。日付と時刻が1日と1時間ずれていることに気づきました。 を使って変更しましたtimedatectl set-time。次にhwclock --systohc、ハードウェアクロックを設定するために使用されます。その後、https証明書エラーのため、Gmailなどの一部のサイトにアクセスできませんでした。時間を変更してみましたが、うまくいきませんでした。 再起動後、パーティションが別の時間にマウントされたため問題が発生したため、パーティションを使用fsck /dev/sdaして起動できました。現在、時計は問題ありませんが、メールを確認する必要があります。私はstackexchangeのにログインするためにFacebookを利用して使用する必要がありましたうんざり。 助けて? Gmailのエラーページには次のように書かれています。 サーバーのセキュリティ証明書はまだ有効ではありません!gmail.comにアクセスしようとしましたが、サーバーがまだ有効でない証明書を提示しました。その証明書を信頼できるかどうかを示す情報はありません。Chromiumは、攻撃者ではなくgmail.comと通信していることを確実に保証することはできません。コンピュータの時計は現在、2012年1月10日火曜日の午後12時14分47秒に設定されています。それは正しく見えますか?そうでない場合は、システムのクロックを修正してから、このページを更新してください。 Webサイト運営者がこのドメインのセキュリティ強化を要求しているため、続行できません。

4
atdが過去のジョブを実行しないようにする方法は?
atデーモンは素晴らしいツールです!ただし、ジョブが午前8時にスケジュールされていて、マシンがその時点でオフになっている場合は、マシンが起動されるたびにatがジョブを実行します。私がやりたいのは、時間が過ぎたらジョブを実行しないようにすることです。オンラインでマニュアルページを検索しましたが、回答がないか、回答が見つかりませんでした。私はArchを使用していますが、私の知る限りでは、ディストリビューション全体で非常によく似ています。 どんな助けでも大歓迎です!
9 time  scheduling  daemon  at 

6
最後のシャットダウン時間を見つける
これは私が使用しているコマンドです: last -x|grep shutdown | head -1 しかし、それは私に+2時間の期間を与えています: shutdown system down 3.14-1-amd64 Mon Jul 21 08:43 - 22:19 (13:36) 最後のシャットダウン時間(08:43)は正しいですが、起動時間(22:19、20:19でなければなりません)は正しくありません。 PCがシャットダウンされてからどのくらい前に確認するためのより良いコマンドはありますか?または私のDST設定または何か他の原因ですか? PS:私はDebianテストを使用しています(Linux Rig 3.14-1-amd64#1 SMP Debian 3.14.12-1(2014-07-11)x86_64 GNU / Linux)
9 logs  time  shutdown 

3
スクリプト内の時間の測定
このスレッドは、スクリプトの実行にかかる時間を測定する方法を示しています。私の場合、スクリプト内の2点間の時間を測定することに興味が あります。これが私がこれをどのように使用したいかの例です: start_measuring_time Line 1 Line 2 .. Line N stop_measuring_time show_elapsed_time 可能であれば、表示される時間を人間が読めるようにしたい(秒、分、時間、日など)。これを行う方法はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.