未分類

前回、Linuxでシステムトレイにアイコン表示してみたのですがC++の割に22~44MBとメモリ消費が多かったので、

今回はpythonだとどうなのかと実験してみました。

未分類

Windowsなら簡単に出来そうだけど、LinuxではGUIを使う人が少ないのかそれほど多くの資料がありませんでした。LinuxのGUIは初めてなので、どんな方法があるのかもまだ分かりませんが、やってみたこと/調べたことを書き記そうかと思います。

未分類

C++はC++03までしか知らなくて、最近になってC++11以降を触っています。Ubuntu 20.04のgccは9.3なのでデフォルトだとC++14になりますが、今日はC++17で追加された std::variant を使ってみました。

未分類

当サイトの記事内ではdockerの管理には現状docker-composeを利用しており、コンテナへの設定受け渡しには原則環境変数を使用しています。しかし環境変数によるパスワードなどの受け渡しは推奨されていないという記事を最近では結構見かけます。代替するものとして、今回はdocker secretsを使用する方法を少し書いておきます(と言ってもdocker-composeのfake secrets)。

未分類

nativeなlinuxが必要なときたまにwubiを使うことがあるのですが、今回はそのイメージをWindows VirtualBox上のLinuxから見る、という記事です。

未分類

前回

に引き続き、VALUE SERVERからConoHa VPSに移行して動かなくなってたところを直していきます。今回はコレですね。

bottleです。Hello, worldしただけなんですけどね。VALUE SERVERではpython3自体がインストールされていたので、Apacheのmod_cgiを使い、CGIでpythonを起動して動かしていました。

これを今回はdockerコンテナ上のnginxからWSGIで別のdockerコンテナ上のpythonに繋ぎ、bottleを動かします。まあ最近bottle聞かなくなりましたけど。。。

未分類

前回はgitのセルフホスティングを移行した話でしたが、

今回はwebサーバーの移行についてです。とはいえ、すでに移行自体もその説明もしちゃったのですが、今回は目的や動機などの背景部分や、不要になった調査結果の分析、、、でもしようかなと思います。まあ追加される事実もないので、読む価値ありません。

未分類

前回はdockerコンテナの起動・停止を独立してできるようにしたので、

今回は新しいコンテナでgitを動かしてみます。

VALUE SERVERはレンタル共有サーバーであり、まともに動くのはPHPだけでした。バージョンは多少古いもののgitコマンドも元から入っており、この組み合わせでgitリポジトリをセルフホストするなら、gitコマンドを必要とし、PHPで動作するgitlistは最適だったと思います。

しかしConoHa VPSに移行しPHP縛りという呪いから開放された現在、同じgitlistで満足してていいのか?と自問した結果、以下の3択ではないかとの結論に至りました。

  1. 見た目はショボいが最高に低コストで動作する、本家git付属のGitWebに移行
  2. 見た目もそこそこでコストがPHP分だけになる、gitlistの続投
  3. 見た目も機能も抜群に良く、同等な機能を持つ競合に比べてコストが低いgiteaに移行

VPSがメモリ1Gでなければ迷わず3なのですが、その気になればプルリクエストが出来たり認証手段も豊富な高機能gitリポジトリセルフホスティングアプリはメモリ消費量が格段に多いのです。giteaはgoで書かれ、Raspberry Piでも動く軽量アプリというのが売りなのですが、それでも何もしてなくてもRSSが150MBほどなわけです。PHPや他のプロセスが50MB程度で顔デカイと思われてる中、その3倍の幅で鎮座しちゃってるのです。しかも仮想メモリVSZを見るとこの人1GBほど使ってて、もう無理!とほぼ諦めてGitWebを調べ始めてたのですが、、、こないだpsコマンドやらtopコマンドやら/procやらで消費メモリをいろいろ見た結果、仮想メモリは障らなければ恐るるに足らずということが分かったため、

一度gitea試してみることになり、今回の設置と相成りました。

未分類

最近は少しメモリ関連の記事を書いていましたが、この記事はそれとは直接関係なく、以下のサーバー運用系の記事の続きになります。

前回最後に、「VALUE SERVER→ConoHa VPS移行作業で漏れた部分」をやっていくということにしてました。まずはgit関連のアプリ追加などを行いたいので、今回はWebとデータベースとアプリを個別に起動/停止できるよう、docker-compose.ymlファイルを分離してみます。

未分類

前回は仮想メモリを調査し、使用されて始めて実メモリを確保することが明確になりました。そして純粋にメモリという意味では、psコマンドのVSZ(やSZ)はさして有用ではなく、RSSと出来ればswapが欲しいな…でもpsコマンドではswapは出せず、proc filesystemの力を借りていました。原始的ですね。

それならば…と今回はリアルタイムpsとも言うべきtopコマンドの出番です。bsdの呪いを解いたのも束の間、実はPOSIX標準の呪いにかかっていたpsコマンドを救うために、標準に縛られないニューヒーローtopコマンドにスポットライトを当てます。