タグ

linuxに関するdmizuno55のブックマーク (60)

  • real time/user CPU time/system CPU timeの違いをメモ

    time(1) コマンドの出力内容 Linux で time(1) コマンドを実行すると、real time/user CPU time/system CPU timeが出力されます。 $ time prog real 0m0.200s user 0m0.098s sys 0m0.004s わかるような、わからないようなこの出力される時間の意味についてメモします。 各フィールドについて Real time について どの処理に時間がかかっているかはさておき、プログラムの開始から終了までを計測した時間 wall clock timeや wall time と呼ばれることもある。 User CPU time について プログラムがユーザースペースで CPU が利用された時間 ライブラリコードの実行などがここに含まれます System CPU timeについて プログラムがカーネススペースで C

    real time/user CPU time/system CPU timeの違いをメモ
  • Linuxコマンド(Bash)でバックグラウンド実行する方法のまとめメモ - Qiita

    bashコマンドのバックグランド実行方法について、まとまっている記事が見つからなかったのでまとめメモ 通常のバックグラウンド実行 &でバックグランド実行 参考:http://kazmax.zpp.jp/linux_beginner/process_background.html もっとも基的なバックグランド実行、コマンドの後ろに&をつけて実行する。 ターミナルの切断が切れたりしてログアウトした場合に、 この方法で実行したプロセスはkillされてしまうので注意する。 途切れたら困る処理の場合はtmuxのセッション上で実行、 もしくは後述するnohupコマンドでのバックグラウンド実行推奨。 # バックグラウンド実行 $ sleep 5 & [1] 21871 # プロセス確認 $ ps $! # ps 21871 PID TTY STAT TIME COMMAND 21871 pts/0 S

    Linuxコマンド(Bash)でバックグラウンド実行する方法のまとめメモ - Qiita
  • [Linux] Terminalを閉じてもバックグラウンドの処理を実行し続ける - nohup - ねこの足跡R

    Linuxでシステム運用をしていると、数時間〜数日間に及ぶバッチ処理を実行することがあります。手動でプログラムを起動する場合にディスプレイの前にずっと付きっきりでは過労死まっしぐらです。またうっかりTerminalを閉じてしまうと大惨事になってしまうため通常はバックグラウンドで実行します。 その際の具体的なコマンドは以下の通り。 $ nohup (コマンド) & コマンドの最後に&を付けるだけでバックグラウンドで実行してくれます。ただこれだけだとTerminalを閉じてしばらくすると自動的にプログラムも終了してしまいます。そこでコマンドの冒頭に nohup を付けることで強制終了を防ぐことができます。 標準出力に表示されるはずだった内容はカレントディレクトリに nohup.out というファイル名で記録されます。 またコマンドの実行が終了すると以下のような通知が来ます。 $ nohup s

    [Linux] Terminalを閉じてもバックグラウンドの処理を実行し続ける - nohup - ねこの足跡R
  • VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み

    Arm入門勉強会とは、macOSがArmに移行したこの機にArmアーキテクチャでのプログラミングについて入門するソフトウェアエンジニアのための会です。今回主催の@nullpo_head 氏が、Armの仮想化支援機構について、その仕組みから深く説明します。前半は「現代のハードウェア仮想化支援機構」について。全2回。 ハードウェア仮想化支援とは何か 佐伯 学哉氏:入門セッション3つ目は『Armの仮想化支援機構』についての入門セッションです。どうぞよろしくお願いします。 発表のスタートとゴールです。VMwareとかQemuとか使ったことあるけど仮想マシンの仕組みなんも知らんというところがまずスタートになっています。 1個目のゴールは、最近のVMのざっくりした仕組みとハードウェア仮想化支援とは何かということがわかること。そしてその話のあとに実際にArmの仮想化支援機構の概要を説明し、Armの仮想

    VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み
  • AWSが生まれたのは、Amazonが経費削減のためにSunのサーバからHP/Linuxサーバへ切り替えたことがきっかけ。当時の社員が振り返る

    AWSが生まれたのは、Amazonが経費削減のためにSunのサーバからHP/Linuxサーバへ切り替えたことがきっかけ。当時の社員が振り返る 1990年代後半に、米Yahoo!などに代表されるインターネット系企業の株が高騰したインターネットバブルが発生しました。 そのバブルが2000年前後にはじけると、ユーザー数の拡大を背景に資金調達をしてきた企業の多くが投資家からの資金を得られなくなり、行き詰まり始めます。 Amazon.comもそうした状況のなかで先行きを不安視された企業の1つでした。2001年4月の週刊東洋経済の記事には、最高値の10分の1程度にまで下がった株価のグラフとともに、「莫大な酸素(キャッシュ)を燃やし続けている」「2000年12月末時点で2000億円を超える債務超過だ」と記されています。 当時Amazon.comのデジタルメディア部門ディレクターであったDan Rose氏

    AWSが生まれたのは、Amazonが経費削減のためにSunのサーバからHP/Linuxサーバへ切り替えたことがきっかけ。当時の社員が振り返る
  • CとRustで一から作るマイクロカーネルOS

    マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい

    CとRustで一から作るマイクロカーネルOS
  • 年始にLinuxデスクトップを使い始めて1年が経とうとしている - あんパン

    これは はてなエンジニア Advent Calendar 2019 2日目の記事です。 こんにちは、 id:masawada です。2ヶ月前まではブログチームのエンジニアでしたが、最近はマンガビューアを開発するチームに在籍しています。 弊社では開発に利用する端末を決められた上限額の範囲内で自由に選ぶことができます。多くのエンジニアmacOS上で仕事をしており、WindowsLinuxデスクトップ環境として利用しているエンジニアはどちらかというと少数です(少なからずいます)。近年では多くのプロダクトのローカル開発環境でDockerを利用できるようになっており、OSの差異によってセットアップに躓くことがなくなった結果Linuxデスクトップへの移行のハードルが下がる傾向にあります。 自分も去年まではmacOS上で仕事をしていましたが、今年の頭にLinuxデスクトップに切り替えてようやく1年

    年始にLinuxデスクトップを使い始めて1年が経とうとしている - あんパン
  • systemd - journalctlのクリア方法 - kzen.dev

    googleで調べてもsystemdのジャーナルをクリアする安全な方法が見つかりませんでした。どなたか、安全で信頼できる方法をご存知ですか? 例えば、何か実験をしていて、様々なエラーメッセージでログが散らかってしまったとします。さらに、Conkyを使ってデスクトップにジャーナルを表示しています。私はこれらのエラーを見たくありません。これらのエラーは、私がこのようなものを修理していたひどい日を思い出させるからです。これがログを消去する正当な理由であることは誰もが認めるところでしょう。

  • Linux ファイルシステムを理解したい - Qiita

    ]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ファイルシステムとは何か? データを管理/操作するための仕組み。 ファイルとディレクトリで構成されていて、/ を基点とした木構造になっている。 # ls -l / 合計 56 lrwxrwxrwx. 1 root root 7 8月 25 01:17 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 9月 29 15:51 boot drwxr-xr-x. 19

    Linux ファイルシステムを理解したい - Qiita
  • logrotate入門 - Qiita

    この記事は株式会社ネクスト(Lifull) Advent Calendar 2016の3日目の記事です。 遅くなってしまいましたが、なんとか当日に間に合わせましたいました。 記事はLinuxlogrotateコマンドについての説明をするものであり、その他のログに関する話は一切出てきません。ご了承ください。 logrotateとは man logrotateにも書いてあることですがlogrotateは複数のログファイルを圧縮、削除、メールで送信するための機能です。 これにより「ファイルサイズがN以上になったら」とか「日次・週次・月次などで分割」などが容易に可能になります。 logrotate自体はデーモンではなくcrondによって実現されています。 利用する前にcrondが動いていることを確認しましょう。

    logrotate入門 - Qiita
  • シェル芸で使いたい jqイディオム - Qiita

    はじめに このページは JSONのデータを変換処理するコマンドラインツール jq (http://stedolan.github.io/jq/) を、シェル芸で上手く使うためのテクニックをまとめたページです。 jqのインストール方法については、Qiita や インターネット上のページ を参考にして下さい。 第22回シェル芸勉強会 大阪サテライト の LTで発表した内容 に加筆・修正を行ったものとなっております。 定番のヘルプ表示 $ jq -h jq - commandline JSON processor [version 1.5] Usage: jq [options] <jq filter> [file...] jq is a tool for processing JSON inputs, applying the given filter to its JSON text inp

    シェル芸で使いたい jqイディオム - Qiita
  • Linux におけるファイル I/O の基礎

    すべてがファイルというモデルの Linux (Unix) において、ファイル I/O (以降単に I/O と書く) を知っておいて損はない。 この記事では、基的なファイルと関連する I/O について、対応する Linux システムコールも併せて説明する。 次回はこれらを実際に Linux 上で確認する予定。 ファイル Unix におけるファイルとは、普通「通常ファイル」のことを指し、バイトがリニアに並んだデータ (byte stream) のことである。 ファイル内のバイトは読み書きが可能で、指定されたバイトから開始する。この開始バイトはファイル内の「位置」と考えることができ、ファイルポジションまたはファイルオフセットという。 通常ファイルとは別に、スペシャルファイルというファイルとして表現されたカーネルオブジェクトがある。Linux では、スペシャルファイルとしてデバイスノード・名前付

    Linux におけるファイル I/O の基礎
  • 宁波逼拘旅行社

    宁波逼拘旅行社
  • システムユーザの作成 | technote

    Linuxにおいて表題の通り。Dockerfileを読んでいて、groupadd/useraddのこのオプションは何だろう?と気になったところから、いくつか試したメモ。 ■ 環境 CentOS 6.4 AmazonLinux ■ groupadd -r groupaddコマンドに”-r“オプションがあるということを知った。”-g“オプションしか使用したことがなかったので、manで調べてみると、下記のように記載されていた。 -r, --system Create a system group. The numeric identifiers of new system groups are choosen in the SYS_GID_MIN-SYS_GID_MAX range, defined in login.defs, instead of GID_MIN-GID_MAX. “syst

  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
  • Amazon Linux 2でAnsibleを使ってnginxを入れる - Qiita

    - name: Enable to install NGINX. shell: "amazon-linux-extras enable nginx1" become: yes をyumの前に入れる。yumはそのまま使う。 【注意】以前、この記事ではnginx1.12を使用していましたが、現在では古くなっているので、nginx1(現在では1.18が入る)を使ってください とりあえずインストールをするためのシンプルなymlは以下のとおり。 --- - name: Install openssl yum: name=openssl-devel - name: Enable to install NGINX. shell: "amazon-linux-extras enable nginx1" become: yes - name: Install NGINX. yum: name=nginx -

    Amazon Linux 2でAnsibleを使ってnginxを入れる - Qiita
  • Systemd入門(4) - serviceタイプUnitの設定ファイル - めもめも

    この連載では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明します。今後出てくる予定のRHEL7での実装とは異なる部分があるかも知れませんが、その点はご了承ください。 今回は、serviceタイプのUnitについて、設定ファイルの書き方を説明します。 Unit設定ファイル 参考資料 ・systemd.unitのmanページ:設定ファイルの一般的な説明 ・systemd.serviceのmanページ:serviceタイプUnitの設定オプションの説明 「Systemd入門(1) - Unitの概念を理解する」で説明したように、各Unitの設定ファイルは、/usr/lib/systemd/system/以下と/etc/systemd/system/以下にあります。両方のディレクトリに同名の設定ファイルがある場合は、後者(/etc/systemd/sys

    Systemd入門(4) - serviceタイプUnitの設定ファイル - めもめも
  • systemd超入門 | DevelopersIO

    これはとある勉強会用の資料です。スライド作るのが面倒臭くなったのでブログにすることにしました。 Systemdとは Systemdは、Linuxの起動処理やシステム管理を行う仕組みです。 Linuxの起動処理 Linuxの起動はざっくりと以下の4段階によって行われます。 電源投入によりBIOSが起動する。 BIOSからブートローダーが呼び出される。 ブートローダーがLinuxカーネルを起動する。 Linuxカーネルがinitプロセス(PID 1)を起動する。 このinitプロセスが、Linuxの起動処理を司ります。古くから使われていたのがSysvinitで、Sysvinitの代替えとして近年Ubuntuなどで採用されていたのがUpstartです。そしてFedora 15やCentOS 7、Red Hat Enterprise Linux 7で採用されたのがSystemdです。 System

    systemd超入門 | DevelopersIO
  • /dev/randomではなく/dev/urandomを使うべき理由?

    「Myths about /dev/urandom」が定説を覆す解説を行っている。Linuxを使う場合には/dev/urandomよりも/dev/randomを使う方が安全だといわれていたが、ブロックするというその特性や実際の内部実装などから考えれば、/dev/urandomが適切な選択肢であり、強い理由があって/dev/randomを使っているのでなければ/dev/urandomが十分なランダムデータの入手源であるという。 説明はLinuxカーネルを焦点にしたもので、マニュアルにも記載されている定石「/dev/randomは、疑似乱数生成器を利用する/dev/urandomよりもランダム性が高い」というのは、必ずしもそういうことではないと説明している。説明は概念的なところから実際の処理の流れ、暗号処理が使用している疑似乱数生成器などに触れ、最終的に/dev/randomを必要とする強い理

    /dev/randomではなく/dev/urandomを使うべき理由?
  • 低レイヤーを学ぶための技術書をまとめてみる - Qiita

    半年前から低レイヤーに関する勉強をしている。 その中で読んだ技術書の感想、そしておすすめの読む順番をここにまとめてみる。 OS 30日でできる! OS自作入門 おすすめ度:80(満点100) 一言:自作OSの初心者向け 自作OSでまず初めに候補に挙がるのがこの。2006年に出版されたではあるが、OSの根幹を理解するにはとても良い。最初からアセンブリでメモリ操作をがっつり書くため、アセンブリの経験やレジスタ周りの知識が無いと挫折してしまうかも知れない。そこを乗り越えれば楽しくOSを実装していける。 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方 おすすめ度:95 一言:一からOSを作って学べる格的な指南書 論理回路と呼ばれるレベルからメモリやCPUを作っていき、アセンブリ言語やアセンブラの開発、そして独自言語とそのコンパイラ、OSまで開発する。CPUなど各要点の考え方

    低レイヤーを学ぶための技術書をまとめてみる - Qiita