Linux PCを起動できる最大時間は?[閉まっている]


12

実際、リブートせずに数日間Linuxシステム(Ubuntu 12.04.3を実行)を使用していました。スリープ状態になるなどのエラーが発生したり、一部のネットワークマウントされたファイルシステムがpingを実行することさえできません(他のPCで確認したところ、ネットワークマウントは正常に機能していました)。

繰り返し不可能なこの種の厄介なエラーを回避するために、Linuxがある時間枠後にマシンを再起動する必要があるかどうかを確認したいと考えていました。

PCを維持できる最大時間は?再起動せずに1年以上システムを稼働している場合に発生する可能性のある他の問題はありますか?


2
コンピューターは目覚めた状態で長時間実行されることを意図していないため、静的な制限があるとは思わない。定格の制限はありません。それは、あなたのコンピューターがどれくらい長く滞在できるかということです。時々再起動したくないのはなぜですか。
-TheWanderer

7
@ Zacharee1うーん、なぜ再起動したいのですか?消費電力でない限り、実際にはそれほど大きな理由はありません。実際、そうしない方がいいです。通常、ハードウェアは部品あたりX年間持続します。簡単にするために、Xは普遍的に10であるとしましょう(どちらもそう遠くはありません)-通常は10 年間継続して使用できます。それが通常の使用です。再起動すると、連続して使用することはできませんが、次回のマシン起動時にハードウェアに大きな打撃を与えます。そのままにしておくと、ほとんどのコンポーネントがスピンダウンし、消費量が減り、とにかく摩耗します。
VLAZ

1
使用中に部品がより摩耗するのは明らかです。ただし、(システムをシャットダウンするだけではなく)再起動しても、コンポーネントの摩耗は減少せず、増加します。また、RAMにキャッシュされたデータがコンピューターの速度を低下させると考える場合、キャッシュの仕組みを根本的に誤解します。
user6053

1
Linux(たとえば、LAMP)でWebサーバーを実行している場合は、システムの再起動に必要な時間だけWebサイトがダウンするため、再起動を可能な限り回避したいです。私は1年行ったことはないと思いますが、確かに再起動せずに数ヶ月です。
tcrosley

2
@ Zacharee1は、RAMのほとんどすべてがコンピューターの速度を低下させることはありません。アプリケーションでメモリリークが発生した場合、たとえばRAMの60%が必要になり、システムはすぐにスワップを開始しますが、これはOSではなくアプリケーションを再起動することです。機械を停止すると、コンポーネントの摩耗は停止しますが、とにかくほとんどの場合、通常の摩耗よりも早くコンポーネントを交換することになります。さらに、私が指摘したように、ハードウェアコンポーネントはすでに摩耗を減らしています。システムをアイドル状態にしておくだけです。
VLAZ

回答:


36

システム管理者として働いていると、Linuxサーバーが再起動せずに700〜800日間以上表示されるため、稼働時間の制限はありません。取得したエラーは、Linux(カーネル)自体とは関係ありません。

多くのサービスを再起動でき、ほとんどのエラーは本番システムで解決できます。


7
これを確認できます。サーバーの1つでの現在の稼働時間:〜$ uptime 00:13:15 up 883 days、9:00、1 user、load average:0.00、0.01、0.05 Ubuntu 12.04.4 LTS。重要なことは何も実行していないため、何も更新する必要はありません。
ミントス

5
組み込みLinuxインスタンスを3年以上にわたって正常に維持しています。
ラファウチェーラク

16

一定の時間後にコンピューターを再起動する技術的な必要はありません。私は数か月間(カーネルモジュールの更新を含む)実行しており、その間に(RAMとディスクへの)一時停止がありました。

機会があります

  • カーネルの更新のように、リブートが絶対に必要です(ただし、多くの場合、これらは緊急ではありません。また、稼働中のカーネルを稼働中のシステムの新しいカーネルに置き換えることができます。kexecおよびKspliceを参照してください)
  • 特定の(セットの)サブシステムではなく、システム全体を再起動する方が簡単な場合があります。

時間が経つにつれて「悪化」する問題(ハードウェアドライバーの問題、漏れやすいプロセスなど)が存在する場合がありますが、それらはバグと見なされ、ソフトウェアのアップグレードで修正されるか、特定のサブシステムのリロード/再起動によって回避できます上記を参照)。


6
オンザフライのカーネルパッチは、値するよりも誇大広告を受け取ります。更新がそのように機能することを確認する時間があれば素晴らしいのですが、メモリ内のデータ構造を変えるコードの変更は、単にライブパッチすることはできません。一般的に、新しいカーネルへの再起動なしのアップグレードを有効にするつもりはありません。権限チェックのバグのようなもののための再起動なしの修正を許可します。サーバーを再起動する必要がないのはすばらしいことですが、これにより新しいバージョンへの再起動なしのアップグレードが可能になるとは思わないでください。
ピーターコーデス

1
ピーターに同意します。そのため、このコンテキストでは、事態をさらに複雑にしないためのライブパッチングについて言及しませんでした。悲しいかな誰かが私の答えを編集しました。
デビッドフォースター

7

稼働時間が長いサーバーがあることは確かですが、可能な例として、私のサーバーの1つから以下を紹介します。

# uptime
04:58:44 up 2186 days, 23:15,  1 user,  load average: 0.02, 0.02, 0.00

このサーバーは、DCが稼働した直後にインストールされ、それ以降オフにされていません。これまでのところ、元々意図していたことを喜んで実行し続けており、その目的が別のサーバーに移動すると、稼働時間を監視するためにそこに何かを置きます。もう。

したがって、「最大値はありません」は間違いなく正しい答えだと思います。


7

これがシステムの安定性に影響を与えるかどうかはわかりませんが、カーネル3.19-xxを使用したUbuntuで示される最大稼働時間は68,0962597349822、32ビットマシン292471208677,8627では64年、64 ビットマシンでは何年もかかります。

これは、sysinfo()syscall によって返されるシステムの現在のアップタイム__kernel_long_ttype として返されるためです。これは、32ビットカーネルはa として、64ビットカーネルではa としてlong宣言さますlong long

long32ビットマシンのAの最大値は2147483647;です。

long long64ビットマシンのAの最大値は9223372036854775807;です。

計算を行う2147483647s= 68,0962597349822年と9223372036854775807s= 292471208677,8627年。

この値がその型の能力を超えて増加すると、算術オーバーフローが発生し、その型で許容される最小値(両方の場合で負の数)に設定されます。これは、それに依存するプログラムの問題になる可能性があります。


3
OPは、システムが正確にログに記録できる最大の稼働時間を求めているのではなく、安定性などのためにシステムを定期的に再起動する必要があるかどうかを求めています。制限。
ボーリュックパプクオグル

@BolucPapuccuogluあなたの意見で、この形式、特に最後の部分のほうが適切かどうかを確認してください。問題が何であるかを明示的に指摘しました。それでも解決しないと思われる場合は、回答を削除します。
コス

6

私は、10年以上リブートなしで実行されているLinuxサーバーを持っていると主張するシステム管理者とかつてクラスにいました。システムを定期的に再起動する必要があるという固有の理由はありません。カーネルの更新などの限られたインスタンスでのみ必要です。

FWIW、私は通常、Windowsホームコンピューターを実行したままにします。通常、再起動せずに数週間は正常に動作します。


Windowsコンピューターを再起動せずに数週間使用すると、明らかに自動更新が有効になりません。通常、これらは毎週ダウンロードされ、ほとんどの場合、リブートが発生します。
tcrosley

@tcrosleyとにかく自動更新が必要なのは誰ですか?これらのマシンで最初にオフにすることの1つです。自動サービスではなく、コンピューターの使用方法を決定します。
マスト

@tcrosley Windowsセキュリティ更新プログラムは通常毎週ダウンロードされますか?マイクロソフトの更新プログラムのリリースポリシーとWindowsを使用した個人的な経験両方からの私の理解では、更新プログラムは通常、月に1回程度リリースされるということです。マスト:自動更新を無効にすることは確かに自由ですが、なぜそれがアップタイムを長くするのかはわかりません。おそらく-できれば!-少なくともセキュリティ修正のために、手動で更新しています。一方、自動更新を無効にするとダウンタイムの発生を制御しやすくなります。
エリアカガン

@EliahKaganセキュリティの修正だけでなく、アプリケーション、ドライバーなどの更新もダウンロードするためのマシンのセットアップがあります。週に1回であることは間違っているかもしれませんが、月に1回以上であることは確かです。毎朝午前3時に更新をチェックします。午前中に来て、システムが再起動したことを確認します。ログオン後、「システムを再起動してアップデートをインストールしました」というメッセージが表示されます。
-tcrosley

4

Linux(カーネル)は、プログラムの終了時にリソースを解放するのに非常に優れています。OS全体であるGNU / Linuxは、一般に無期限に実行しても問題ありません。更新後にユーザースペースプログラムを再起動することは一般に良い考えであり、多くの場合、更新を使用してすべてを取得する最も簡単な方法glibcはシステムを再起動することです。

ドライバーのバグがあるシステム(通常はグラフィックスドライバーのバグ、他のすべては通常堅実)では、すぐに再起動しないと奇妙な動作をすることがあります。dmesg出力にカーネルOOPSが表示された場合は、できるだけ早く再起動して報告する必要があります(または、既知の問題の場合は、同様のハードウェアで同様の問題を抱えている他のユーザーをグーグルで調べます)。ディストリビューションはグラフィックスタックの最新の開発バージョンを出荷していないため、バグがアップストリームで既に修正されている場合があります。また、実行中のディストリビューションバージョンのドライバーにとってグラフィックカードがあまりにも新しいため、安定していません。その場合は、mesa / drm / xorgの更新されたビルドでPPAを探してください。(最先端のグラフィックススタックでUbuntuを実行するための最良の選択がATMであるかどうかはわかりません)。

とにかく、ドライバーや他のカーネルのバグを除いて、Linuxはメモリーの断片化などをクリアするために再起動を必要とせずに無期限に実行できます。

Linuxルーター/ファイアウォール/メールサーバー/シェルボックス(P3 450MHz、OCed to 500MHz)があり、定期的に何百日ものアップタイムが発生しています。電源コードを再配置するか、障害のある電源を交換するためにのみ再起動します。おそらく15年間、同じCPU / RAM /ハードドライブで安定しています。「不安定になったため」再起動する必要はありませんでした。これは、電源の故障、カーネルのアップグレード、停電などの特定の理由で常に発生し、UPSバッテリーがほとんど消耗していました(自動シャットダウンのトリガーapcupsd)。

システムが異常な動作をしている場合はdmesg、問題がないか確認してください。デスクトップだけの場合、カーネルパッケージ以外のアップデートをインストールしたばかりの場合は、ログアウト/ログインします(または再起動しますが、再起動する必要はありません)。Kubintu 15.04はパッケージの更新後に簡単に問題が発生することがわかりました。同じバイナリで実行されている同じライブラリのアップグレードされたバージョンとアップグレードされていないバージョンのバイナリ互換性がないためです。(このバグに関する議論を参照)。

ハードウェアの問題をチェックするには、memtest86 +を起動します。(aptitude install memtest86+)フルパスを実行するか、一晩実行します。最近のCPUではスパイク負荷で電源電圧が低下する可能性があるため、安定したシステムを保証するものではなく、memtestはそれを排除しません。Prime95のようにCPUが熱くなることもありません。


3

私が思い出すことができる奇妙なエラーなしで11日間稼働した後、私のマシンは15.04で今日再起動しました。システムで多大な作業と開発を行っている場合、それがリブートする唯一のオプションになることもありますが、必要な場合に限ります。


まさにあなたは正しいです!私は数か月の間、16.04で開発を続けてきました。凍結のため、通常は毎日コンピューターを再起動します。しかし、その理由はインストールしたものと使用しているもの、ドライバーなどだと確信しています。
efkan

1

技術的には制限はありません。スリープまたはシャットダウンしないように設定する必要があります。


3
あなたの答えをより明確にし、詳しく説明してください。特にこの行you just have to set it to not sleep or shut down
heemayl

「技術的に制限はありません」は、簡潔な答え、簡潔かつ正しいものとして十分でした。
レオラム

0

個人的には、再起動したりシャットダウンしたりせずにラップトップやPCを何日も実行したくないでしょう。

単に熱を発生する主要なコンポーネントが原因で、MBの摩耗を加速できます。

(適切な冷却と換気がない場合)


4
AcerやHPのような消費者向けのゴミですが、通常はビジネス向けのThinkpadやDell Latitudeラップトップの方が適しています。私は1年以上24時間365日稼働しているLatitudeを個人的に所有していますが、すぐ隣にあり、完全に機能しています。

@kingtoorなぜ時折に不適切な冷却機24時間365日を実行する方が良いだろう、再起動、再起動せずに24/7を実行するよりも?(またはそれはあなたが言うことを意味するものではありませんか?)
エリアカガン

1
24時間年中無休で熱くなっているラップトップで使用していないときに電源を切る/スリープすることは、もちろんです。これは、リブート(時間を費やすことなく)と継続的なアップタイムとは無関係です。
ピーターコーデス

私の答えは私のコメントにあります。
キングトゥー

また、平均的なユーザーがサーバーを持っていない限り、24時間365日PCを実行する理由はありません。それが私の意見です。
キングトゥー

0

Ubuntuに固有ではありませんが、単一のプログラム(およびシステムスタッフとconky)を実行している間に60日以上の稼働時間があったDebianベースのディストリビューションを実行する1997年のビンテージラップトップ(300 MHz、288 MB RAM)があります。更新を毎週ロードするためのターミナル以外の他のソフトウェアを起動および停止しない。最終的に、更新プログラムを読み込むときに約63日でクラッシュしました。対照的に、Kubuntu 14.04デスクトップシステムは、約2週間後に画面ロックでフリーズします。私は他の答えに同意します。Linux自体よりも、実行するソフトウェアと他のプログラムの起動と停止の頻度に関するものです。


クラッシュした場合(再起動せずに修正可能なXクラッシュだけでなく、ハードクラッシュまたはフリーズを意味します)、おそらくハードウェアの問題(過熱、不良RAMなど)があることを意味します。システム管理者として、サーバーを再起動せずに数か月間実行することがありますが、カーネルの更新を適用するために再起動する必要があるため、サーバーを避けることを好みます。

画面ロックが黒画面になった場合、ハードシステムロックまたはXサーバー障害のいずれであるかを効果的に判断する方法はありません。また、コマンドラインにアクセスして(パスワードを入力する機能なしで)Xなどを再起動する方法もありませんそれは可能性があります。2週間かかっても、過熱したりRAMが悪くなったりすることはないと思います。
ツァイスイコン

Ctrl + Alt + F1が機能しない?そして、悪いグラフィックドライバーが犯人かもしれません-それらは高い稼働時間を念頭に置いてテストされていないかもしれませんが、Linuxは問題なく何年も実行することができます。

次回、画面ロックがフリーズするとき(ハードリセットを使用している)覚えている場合は、CTL-ALT-F1を試す必要があります。startxXサーバーの再起動に使用すると思いますか?または、特別なコマンドを使用してサービスを再起動する必要がありますか?「再起動はカーネルのアップグレードとハードウェアのインストール用です」という古いLinuxのことをよく知っています。
ツァイスイコン

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