ইউনিটির শীর্ষ জিনোম প্যানেলে সিস্টেম মনিটরিংকে কী প্রতিস্থাপন করতে পারে?


117

আমি শীর্ষ জিনোম প্যানেলে সিস্টেম মনিটরিং করতে ব্যবহার করেছি: সিপিইউ, তাপমাত্রা, নেট, ফ্যান-স্পিড। (নীচে স্ক্রিনশট দেখুন)

সিস্টেম মনিটরের অ্যাপলেটগুলি দেখায় জিনোম 2 প্যানেলের স্ক্রিনশট

ইউনিটিতে, শীর্ষ প্যানেলটি উইন্ডোর নাম এবং গ্লোবাল মেনুতে লক করা আছে, তাই আমি প্যানেল অ্যাপলেটগুলি যুক্ত করতে পারি না। সুতরাং আমার প্রশ্নটি হ'ল:

Kindক্যে এই ধরণের সিস্টেম মনিটরিং (সর্বদা দৃশ্যমান, খুব বেশি জায়গা নেয় না) প্রতিস্থাপনের কোনও উপায় আছে কি?

উত্তর:


57

পুরানো জিনোম সূচকটির মতো ঠিক: http://www.webupd8.org/2011/05/network-memory-and-cpu-usage-indicator.html#more

লিঙ্কটি থেকে নোট: একবার ইনস্টল হয়ে গেলে ড্যাশ থেকে সিস্টেম লোড সূচক চালু করুন। পুরানো জিনোম অ্যাপলেটগুলির বিপরীতে, প্যানেলগুলিতে এই সূচকগুলি কীভাবে যুক্ত করবেন।


দ্রষ্টব্য: সূচক-মাল্টিলোড এবং অন্যরা এখন স্ট্যান্ডার্ড আপনার পিপিএ দরকার নেই। টিউটোরিয়ালের জন্য দেখুন: howtogeek.com/118908/…
Tully

44

আমি নিম্নলিখিত প্রশ্ন এবং উত্তর পেয়েছি যা আমার জন্য সমস্যার সমাধান করেছে। এটিতে অ্যাপলিকেশন সূচক নামে পরিচিত পুরানো অ্যাপলেটগুলির প্রতিস্থাপনের একটি তালিকা রয়েছে। দুর্ভাগ্যক্রমে তাদের সবগুলি এখনও ন্যাটিটির জন্য উপলভ্য নয় তবে কমপক্ষে আমি একটি খুব বেসিক সিস্টেম লোড মনিটর (সূচক-সিজনমিটার) এবং একটি আবহাওয়া সূচক (সূচক-আবহাওয়া) কাজ করেছিলাম।

এখানে চিত্র বর্ণনা লিখুন

ইনস্টল করতে বোতামটি ক্লিক করুন:

সফ্টওয়্যার কেন্দ্রের মাধ্যমে ইনস্টল করুন


20

অজগর থেকে বের হয়ে আমি একসাথে হ্যাক করেছি এমন একটি দ্রুত এবং নোংরা সিস্টেম মনিটর এখানে রয়েছে: মেনুবার

আমি যে স্ক্রিপ্টটি লিখেছি তা কল করতে এটি "সিস্টেম মনিটর সূচক" ( এখানে ) ব্যবহার করে । এটি ব্যবহার করতে:

  1. ইনস্টল indicator-sysmonitor। এটি করতে, নিম্নলিখিত কমান্ডটি চালান:

    sudo apt-add-repository ppa:alexeftimie/ppa && sudo apt-get update && sudo apt-get install indicator-sysmonitor
    
  2. নিচের স্ক্রিপ্টটি সিসমনিটর নামে একটি ফাইলটিতে অনুলিপি করুন

  3. স্ক্রিপ্টটি কার্যকর ( chmod +x path-to-file)

  4. সূচকটিতে ক্লিক করুন এবং "পছন্দগুলি" নির্বাচন করুন। উদাহরণ দেখাচ্ছে যে

  5. "এই কমান্ডটি ব্যবহার করুন" চয়ন করুন এবং এটিকে সিম্মনিটর ফাইলটিতে পথ দিন।

কোডটি এখানে:

#!/usr/bin/python

import re
import sys
import time
import psutil





#Functions:_    __    __    __    __    __    __    __    __    __    __    __
#__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \_



#interface |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
net_re = re.compile(r"\s*\S+:\s+(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+")

def getInOut():
  """
  Get a readout of bytes in and out from /proc/net/dev.
  """

  netfile = "/proc/net/dev"

  try: f = open(netfile)
  except:
    sys.stderr.write("ERROR: can't open "+netfile+".\n")
    sys.exit(2)

  f.readline()    #Burn the top header line.
  f.readline()    #Burn the second header line.

  inb = 0
  outb = 0
  for line in f:
    m = net_re.match(line)
    inb += int(m.group(1))
    outb += int(m.group(2))
  f.close()

  return (inb,outb)



def sampleNet():
  """
  Get a sample of I/O from the network interfaces.
  """
  return makeSample(getInOut)


def makeSample(function):
  inlist = list()
  outlist = list()

  (inbytes, outbytes) = function()
  inlist.append(inbytes)
  outlist.append(outbytes)
  time.sleep(1)

  (inbytes, outbytes) = function()
  inlist.append(inbytes)
  outlist.append(outbytes)

  return (inlist[1] - inlist[0], outlist[1] - outlist[0])



def diskstatWrapper():
  """
  Wrapper for the diskstats_parse function that returns just the in and out.
  """
  ds = diskstats_parse("sda")
  return (ds["sda"]["writes"], ds["sda"]["reads"])



def sampleDisk():
  """
  Get a sample of I/O from the disk.
  """
  return makeSample(diskstatWrapper)





def diskstats_parse(dev=None):
    """
    I found this on stackoverflow.
    (http://stackoverflow.com/questions/3329165/python-library-for-monitoring-proc-diskstats)
    """
    file_path = '/proc/diskstats'
    result = {}

    # ref: http://lxr.osuosl.org/source/Documentation/iostats.txt
    columns_disk = ['m', 'mm', 'dev', 'reads', 'rd_mrg', 'rd_sectors',
                    'ms_reading', 'writes', 'wr_mrg', 'wr_sectors',
                    'ms_writing', 'cur_ios', 'ms_doing_io', 'ms_weighted']

    columns_partition = ['m', 'mm', 'dev', 'reads', 'rd_sectors', 'writes', 'wr_sectors']

    lines = open(file_path, 'r').readlines()
    for line in lines:
        if line == '': continue
        split = line.split()
        if len(split) != len(columns_disk) and len(split) != len(columns_partition):
            # No match
            continue

        data = dict(zip(columns_disk, split))
        if dev != None and dev != data['dev']:
            continue
        for key in data:
            if key != 'dev':
                data[key] = int(data[key])
        result[data['dev']] = data

    return result





#MAIN:    __    __    __    __    __    __    __    __    __    __    __    __
#__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \_




(indiff, outdiff) = sampleNet()
outstr = ""
outstr += "cpu: "+str(int(psutil.cpu_percent()))+"%\t"
outstr += "net: "+str(indiff/1000)+"|"+str(outdiff/1000)+" K/s\t"

(diskin, diskout) = sampleDisk()
outstr += "disk: "
if(diskin):
  outstr += "+"
else:
  outstr += "o"
outstr += "|"
if(diskout):
  outstr += "+"
else:
  outstr += "o"

print outstr

সম্পাদনা: আপনি যদি মেমরির ব্যবহার চান ("শীর্ষ" দ্বারা প্রতিবেদন হিসাবে) লাইনগুলি যুক্ত করুন

memperc = int(100*float(psutil.used_phymem())/float(psutil.TOTAL_PHYMEM))
outstr += "mem: "+str(memperc)+"%\t"

আপনার যদি সামুটির ২.০ সংস্করণ থাকে তবে নিম্নোক্ত লাইনের সাথে জিনোম সিস্টেম মনিটরের দ্বারা উল্লিখিত মেমরির ব্যবহারটি পেতে পারেন:

memperc = int(100*float(psutil.used_phymem()-psutil.cached_phymem())/float(psutil.TOTAL_PHYMEM))

আপনার যদি অল্প জায়গা থাকে এবং আপনি নেট স্পিডের জন্য ইউনিট থাকতে পছন্দ করেন (বি, কে, এম) আপনি এটিও ব্যবহার করতে পারেন

def withUnit(v):
    if v<1024:
      return "%03d" % v+"b";
    if v<1024**2:
      s= ("%f" % (float(v)/1024))[:3];
      if s[-1]=='.':
         s=s[:-1]
      return s +"k";

    return ("%f" % (float(v)/(1024**2)))[:3] +"M";


(indiff, outdiff) = sampleNet()
outstr = ""
outstr += "c"+ "%02d" % int(psutil.cpu_percent())+" "
outstr += "m"+ "%02d" % int((100*float(psutil.used_phymem())/float(psutil.TOTAL_PHYMEM)))+" "

outstr += "d"+withUnit(indiff)+" u"+withUnit(outdiff)

বিন্যাস এবং অনুপস্থিত পদক্ষেপের জন্য জেমসকে ধন্যবাদ (অ্যাপ-অ্যাড-রেপোজিটরি)।
krumpelstiltskin

আপনি কি দয়া করে আমাকে বলতে পারবেন কীভাবে আমি ডিস্ক ব্যবহারের পরিবর্তে র্যাম% পেতে পারি?
বিজয় 16

2
@ নিউও: "getInOut ()" (মেমিনফোতে ক্ষেত্রগুলি স্ব-ব্যাখ্যামূলক) বলে অনেকটা "/ proc / meminfo" কে পার্স করে এমন একটি ফাংশন তৈরি করুন। তারপরে আপনার নতুন ফাংশনটিকে মেকসেম্পল () দিয়ে কল করুন। এর জন্য যদি চাহিদা থাকে তবে আমি কোডটি লিখব এবং পোস্ট করব।
krumpelstiltskin

1
@ নিউও: আমি পোস্টটিতে মেমরির ব্যবহারের জন্য লাইনগুলি যুক্ত করেছি। যদি মেমের ব্যবহার আপনি যা চান তা হ'ল, আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি স্ক্রিপ্ট থেকে অন্য সমস্ত লাইন সরিয়ে ফেলুন যাতে অজগরটিকে পার্স করতে হবে না।
krumpelstiltskin

1
আমি একই জিনিসটি আবিষ্কার করেছি এবং একটি ছোট পার্ল স্ক্রিপ্ট লিখেছি যা নেটওয়ার্কের ব্যবহারের উপর নজর রাখে।
নাথান ওসমান

13

আপনি এ থেকে একটি সফ্টওয়্যার প্যাকেজ ( .deb ) ডাউনলোড এবং ইনস্টল করতে পারেন

https://launchpad.net/indicator-sysmonitor/+ ডাউনলোড এখানে। একবার ইনস্টল হয়ে গেলে আপনি এটি অ্যাপ্লিকেশন> অ্যাকসেসরিজ> সিসিয়েম মনিটর সূচকের নীচে পাবেন এবং এটি ইউনিটির মতো দেখাবে; এখানে চিত্র বর্ণনা লিখুন





3

এটি শীর্ষ প্যানেলে নেই, তবে আপনি কঙ্কি ব্যবহার করতে পারেন ।

আমি কঙ্কি ব্যবহার করি না তবে এখানে কিছু স্লিম থিম রয়েছে এবং আমি মনে করি আপনি এটি সর্বদা শীর্ষে রাখতে পারেন। (যদিও আমি জানি না স্ক্রিনের কোন অংশটি কভার করা ভাল হবে ...)


+1 আমি ঠিক এর জন্য কঙ্কি ব্যবহার করছি (সিস্টেম মনিটরের অ্যাপলেট প্রতিস্থাপন হিসাবে)। এটি অত্যন্ত কনফিগারযোগ্য এবং সম্ভবত এটি সম্ভবত পছন্দসই ফলাফল পেতে কিছুটা সময় নেবে। কিছু সুদর্শন এবং আকর্ষণীয় কনফিগারেশনের জন্য, আমি ওয়েবআপড 8.org-
বেলাকুয়া


-1

আমি কয়েকটি অ্যাপ্লিকেশন চেষ্টা করেছি এবং আমি দেখতে পেয়েছি যে কেডিএর মধ্যে একটি আমার জন্য সেরা সিস্টেম মনিটরের সরঞ্জাম: ksysguard।

এটি উবুন্টু স্ট্যান্ডার্ড সংগ্রহস্থলগুলিতে রয়েছে, সুতরাং আপনি কেবল এটি সফ্টওয়্যার সেন্টারে ইনস্টল করুন।

এই স্ক্রিনশটে তুলনা দেখুন। জিনোম সিস্টেম মনিটর বনাম কে-ডি সিস্টেম মনিটরের (ksysguard) কত প্রসেসর ব্যবহার করে

আপনি দেখতে পাচ্ছেন, ksysguard অনেক ভাল।


এটি প্যানেলে খাপ খায়?
রবার্ট সিমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.