コンピュータ・システムの動作中に,メイン・メモリー(実メモリー)を使い切りそうになり,空き容量が不足した場合,実メモリーから使用中の内容の一部を取り出して退避するためのハード・ディスク上の領域です。Linuxでは,専用の領域としてパーティション作成時に確保します。スワップ領域の容量や使用状況は,freeコマンドで確認できます(図1)。 スワップ領域に退避した内容に再びアクセスするためには,実メモリー上に復元する処理が必要です。これを「スワップイン」と呼びます。その逆の退避する処理は「スワップアウト」です。 実メモリーと比べると,ハード・ディスクへのアクセス速度は格段に遅くなります。また,スワップアウトやスワップインが頻繁に発生すると,CPUの処理能力の多くがそれらの処理に割り当てられてしまい,アプリケーションの動作の妨げになります。そのため,システム全般の処理性能は大幅に低下します。ちなみ
はじめに vimdiffが使える場合はこの記事は読む必要がありません。 また、はじめには読み飛ばして下さって構いません。 エンジニアにとって、2つのファイルの比較を行うことはよくあることだと思います。 ですが最近仕事で2つのファイルの差分を__誰でも__すぐに読み解ける方法を考え出す必要が出てきました。なお、補足をするとそのプロジェクトではgitを導入できる段階ではありませんでした。 全員がvimを使えるならvimdiffで良いと思います。 ここでは主に__diffコマンドに関することでの視覚的なこと__についてメモしたいと思います。 パッチ等他の形式については Linuxエンジニアらしいパッチのつくりかた がよくまとまっていると思いますので、そちらをご覧ください。 diffコマンド 一般的に差分を取るときは普通はdiffコマンドが思いつきます。diffコマンドの差分の判定についてのオプシ
For a system administrator, having to perform security vulnerability analysis and software update on a daily basis can be a burden. To avoid downtime in a production environment, it is common for a system administrator to choose not to use the automatic update option provided by the package manager and to perform update manually. This leads to the following problems. The system administrator will
バックアップ サーバや必要なデータのバックアップ等適宜行ってください。 弊社の移行対象は AWS EC2 上で動作しているため、適当な手段で移行前サーバから AMI ( コピー) を作成し、このイメージからインスタンスを起動して作業を行っています。 以下このコピーしたインスタンスにおける作業となります。 サービス停止 Apache、及び、Tomcatを停止します。 $ sudo /etc/rc.d/init.d/httpd stop $ sudo /etc/rc.d/init.d/tomcat7 stop アプリケーション、及び、設定ファイルのコピー(バックアップ) 現状のアプリ、及び、設定を適当なディレクトリにコピーしておきます。 Apache 関連 /etc/httpd/conf 下の設定ファイル /etc/httpd/conf.d 下の設定ファイル Tomcat 関連 /usr/sh
要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、システムコールへのカーネルエントリポイント、システムコールからのカーネルイグジットポイント、glibcのラッパ関数、バグなど多くの点について説明します。 要約 システムコールとは? 必要条件に関する情報 ハードウェアとソフトウェア ユーザプログラム、カーネル、CPUの特権レベル 割り込み モデル固有レジスタ(MSR) アセンブリコードでシステムコールを呼び出すことの問題点 レガシーシステムコール 独自のアセンブリを用いたレガシーシステムコールの使用 カーネル側での int $0x80 エントリポイント iret を使用したレガシーシステムコールからの復帰 高速システムコール 3
ブートローダからカーネルまで これまでの私の ブログ投稿 を読まれた方はご存じかと思いますが、しばらく前から低水準言語を使うようになりました。Linux用x86_64アセンブリ言語プログラミングについても書いています。また、同時にLinuxのソースコードにも触れるようになりました。下層がどのように機能しているのか、コンピュータでプログラムがどのように実行されるのか、どのようにメモリに配置されるのか、カーネルがどのように処理や記憶をするのか、下層でネットワークスタックがどのように動くのかなどなど、多くのことを理解しようと意欲が湧いています。これをきっかけに、 x86_64 版Linuxカーネルについてシリーズを書いてみようと思いました。 私はプロのカーネルプログラマではないことと、仕事でもカーネルのコードを書いていないことをご了承ください。個人的な趣味です。私は下層で何が起きているのかとても
サーバを再起動すると時間がずれる サーバの再起動を行うとntpで時刻同期を取っていたはずなのに、時刻がずれるということはありませんか? それは、ハードウェアで設定されている時間がずれているために起きているという原因が考えられます。 他の原因だったらごめんなさい:-p 時刻ずれ対策(linux編) Linuxはサーバ起動時にハードウェアに設定してある時刻を参照してこれをシステムの時間として起動していきます このことによって、サーバを再起動すると時刻がずれるという現象が発生するのです。 システムとハードウェアの時間確認方法 hwclockはハードウェアの時刻を、date でシステムの時刻を表示させてます。 # hwclock ; date 2007年04月02日 13時50分38秒 -0.742973 秒 2007年 4月 2日 月曜日 15:34:10 JST 私の環境では、結構ずれていまし
追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだった本エントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de
はじめに linuxのメモリ利用容量(空き容量)の考え方 linuxのメモリ利用容量/空き容量の計算方法 ■RHEL7 【freeコマンドとmeminfoの図解】 【計算方法】 freeコマンド表示例 /proc/meminfo表示例 ■RHEL6 【freeコマンドとmeminfoの図解】 【計算方法】 freeコマンド表示例 /proc/meminfo表示例 ■RHEL5以前 【freeコマンドとmeminfoの図解】 【計算方法】 freeコマンド表示例 /proc/meminfo表示例 蛇足 その1:無名ページとファイルページ その2:図解の内容のツッコミ その3:RHEL6の計算 その4:Inactiveを空き領域とすることは間違い。 はじめに linuxサーバを利用する上で何時も頭を悩ますものの一つが、メモリ利用状況の評価(メモリ利用率)ではないでしょうか。私も悩みます。そこで
表題の書籍が技術評論社より出版されることになりました。2015/9/26より一般販売開始予定です。執筆にご協力いただいた方々に改めてお礼申し上げます。 gihyo.jp 参考として、「はじめに」と「各章概要」を下記に引用しておきます。Dockerの基礎をしっかりと足固めしていただくための書籍です。 はじめに お待たせしました! 「Dockerを使って何かを始めたい」「Dockerでコンテナーは起動したけど中のしくみがよくわからない」 ── そんなあなたに向けたDockerの入門書がようやく完成しました。「コンテナーだから軽くて便利」「アプリケーションの可搬性が高まる」など、さまざまなうわさ話を耳にするDockerですが、まずは本書に目を通して、その技術的な特徴、そして、その背後にある「思想」を理解してください。 Dockerは、アプリケーションの実行に必要なファイルをすべてまとめた「コンテ
WindowsやMacOSデスクトップでいう「ゴミ箱」をLinuxのコマンドライン上で作りたい場合、「rm」コマンドをエイリアスで置き換えるよう設定すれば、手軽に実現ができる。 次のようなスクリプトを用意し、.bashrcにエイリアスを定義しておこう。 $ vi ~/bin/rm.sh #!/bin/sh trash=$HOME/trash if [ ! -d $trash ] then mkdir -p $trash fi for i do mv $i $trash done 次に、ゴミ箱ディレクトリの作成、そしてスクリプトファイル(rm.sh)に実行権限を設定する。設定後にファイルを削除した場合には、「ls -l ~/trash」などと指定してゴミ箱内を参照すればよい。
特定のホストへのルートを確認するコマンドといえば、tracerouteコマンドだ。 今回は、そんなtracerouteコマンドで覚えておきたい使い方についてまとめてみる事にした。 1.基本的な使い方 tracerouteコマンドは、基本的には以下のように実行し、そのホストに至るまでの経路(どこのルーターを通っているか等)を確認出来る。 デフォルトでは、UDPプロトコルを利用して通信確認を行う。 traceroute 対象ホスト(ホスト名・IPアドレス) tracerouteコマンドでは、対象のホストに向けてTTLを1づつ足して通信確認を行っている。 そのため、通信の途中で傷害が発生していたとしても、どこの経路で発生しているのかがわかるようになっている。 動作のより詳しい解説については、こちらのサイトが記述してくれている。 2.使用するプロトコル・ポートを変更する デフォルトではUDPプロト
なんで相手に繋がらないの!? サーバ管理していてよく起こる問題は、「なんで繋がらないの!?」ですよね。そこで、今回は基本的なネットワークをご紹介したいと思います。OSやツールのバージョンにより動作が異なりますので、それぞれ調べてみて頂ければと思います。今回は、Amazon Linux 2015.03を用いています。 ping 基本はpingですね。ICMPのにあるエコー要求/応答のpingを使って接続確認を行います。 $ ping yahoo.co.jp PING yahoo.co.jp (182.22.59.229) 56(84) bytes of data. 64 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_seq=1 ttl=54 time=4.84 ms 64 bytes from f1.top.vip.s
爆速でセットアップを完了するため、極力コピペで設定できるようにしてみたよ(・∀・) 動作検証は、さくらのVPSで標準OSをインストールして行った。記事執筆時点ではCentOS6.6がインストールされたぞ。 # cat /etc/issue CentOS release 6.6 (Final) # uname -rs Linux 2.6.32-504.3.3.el6.x86_64 お知らせ 本記事の内容をFabric化したスクリプトを公開!ぜひ試してみてね。 → 超速でCentOS6.6(さくらのVPS)をセットアップする俺史上最強のFabricスクリプトをさらす rootのパスワード変更と作業用ユーザの作成 まずは、コンソールからSSHで接続しよう。 [localhost ~]$ ssh root@XX.XX.XX.XX なお、サーバを起動してない場合は、事前に管理画面からサーバを起動しよ
2016/12/27 更新 Googleなどの大手IT企業がうるう秒対策済のNTPサーバが公開したため、これを利用する内容などを以下にまとめました。 元旦に実施される うるう秒の対策 まとめ 2016/07/08 更新 2017/1/1に閏秒の実施が決定されました。対応はこの記事のとおりで問題なさそうです。 2015/06/24 情報追加(2015/06/29 更新) 下記の対応に関わるntpdの比較的新しいバージョンにSLEWモードで動作していても、うるう秒が挿入されるバグが発見されました。[redhat] これによりntp-4.2.8p3-RC1以降のバージョンでないとSLEWモードで動作していてもうるう秒が挿入されます。RedHatはntp-4.2.6p5-3.el6_6という対応済みのバージョンを提供しています。Ubuntuでは今日現在12.04LTS, 14.04LTSの2バージ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く