• EOSデバイスのCPU/メモリ管理について

 
 
Print Friendly, PDF & Email

はじめに

Aristaの機器のオペーレーションシステム EOS(Extensible Operating System)は、従来のネットワーク機器のOSと比較すると大きく異なる部分がある。

この事により、既存機器からの置き換えの運用前の確認でいくつか質問を頂く事がある。

本記事はその質問に対してのEOS上のCPUやメモリの扱いをまとめたものである。

EOSアーキテクチャー

EOSの特徴の中に特に本記事で取り上げたい部分は下記である。

Linuxカーネル – Fedora/CentOSのイメージを変更せずに使用

エージェント – 各プロセスはそれぞれユーザ・アドレス・スペースで動作

これらの特徴が従来のネットワークOSでは大きく異なる為、CPUやメモリの管理について改めて解説をしていく

Linuxカーネルとユーザアドレススペースについて

LinuxカーネルにはCPUプロセス管理やメモリ管理をする役割がある。

つまり、これらの管理をユーザースペースにあるEOS自身ではなく、Linuxカーネルが実施する。

これが従来のネットワーク機器と大きく異る為、導入前に少しが混乱があるように思われる。

EOS自身はユーザアドレススペース(ユーザー空間)で動作する。

ユーザー空間はアプリケーションが実施するスペースであり、カーネル空間はユーザーは直接はアクセス出来ない空間になる。

 

CPUの使用率が高い

AristaスイッチのコントロールプレーンはマルチコアCPUのシステムである

1つのコアのCPUの使用率が高い事があっても他方のコアは余裕がある事は多い。

Linuxカーネルにより先取りが行われる為、1つのプロセスがCPUを専有する事は無い。

CPU高負荷時のトラブルシューティングは下記の記事を参考して頂きたい。

Troubleshooting High CPU Utilization

メモリ使用率が時間と共に上昇する

長期安定試験などを行った際に見られる事象で、使用率は高くはないが時間とともにメモリ使用率が上がる為、特定のプロセスがメモリーリークなどを起こしていないかを懸念して、この質問を頂く事がある。

EOSではLinuxカーネルによりメモリ管理を行い、Linuxページキャッシングを使用する。

キャッシュメモリを頻繁に使う為、使用中のメモリは増加していく。

Linuxカーネルがキャッシュからメモリの開放を行う事もできる。

メモリ使用率とそれぞれのエージェントの毎のメモリ使用率の監視方法は下記の記事を参考にして頂きたい。

Introduction to Managing EOS Devices – Memory Utilisation

Monitoring some agent’s memory utilisation

まとめ

既存のネットワークOSとは違い、EOSでは修正をしてないLinuxカーネルそのまま使用している。

またEOSはユーザ空間で動作する。

このため、CPUやメモリはLinuxカーネルにより管理される。

 

 

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: