Restricting process CPU usage using nice, cpulimit, and cgroups

By Derek Bullet_white Posted in HowTo Bullet_white Comments Comments

juggle

The Linux kernel is an incredible circus performer, carefully juggling many processes and their resource needs to keep your server humming along. The kernel is also all about equity: when there is competition for resources, the kernel tries to distribute those resources fairly.

However, what if you've got an important process that needs priority? What about a low-priority process? Or what about limiting resources for a group of a processes?

The kernel can't determine what CPU processes are important without your help.

Most processes are started at the same priority level and the Linux kernel schedules time for each task evenly on the processor. Have a CPU intensive process that can be run at a lower priority? Then you need to tell the scheduler about it!

There are at least three ways in which you can control how much CPU time a process gets:

  • Use the nice command to manually lower the task's priority.
  • Use the cpulimit command to repeatedly pause the process so that it doesn’t exceed a certain limit.
  • Use Linux’s built-in control groups, a mechanism which tells the scheduler to limit the amount of resources available to the process.

Let's look at how these work and the pros and cons of each.

Read More →

 

Understanding disk inodes

By Derek Bullet_white Posted in HowTo

You try creating a file on a server and see this error message:

No space left on device

...but you've got plenty of space:

df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1            10321208   3159012   6637908  33% /

Who is the invisible monster chewing up all of your space?

Why, the inode monster of course!

What are inodes?

An index node (or inode) contains metadata information (file size, file type, etc.) for a file system object (like a file or a directory). There is one inode per file system object.

An inode doesn't store the file contents or the name: it simply points to a specific file or directory.

Read More →

 

From Ruby to Go: a rewrite for the future

By Derek Bullet_white Posted in Development

go

During a team camp among the lofty peaks of Breckenridge, Colorado, we talked a lot about the future of Scout and monitoring in general. Big mountains and nature have a way of doing that.

One thing that was getting our nerd juices flowing: Go.

At Monitorima in May, it was clear that Go was becoming the language of choice for performant yet fun-to-develop daemons.

After our morning hike fueled us with crip mountain air, we said: why not build a light Scout daemon in Go? As in, right this afternoon?

Read More →

 

Slow Server? This is the Flow Chart You're Looking For

By Andre Bullet_white Posted in HowTo Bullet_white Comments Comments

Your high-powered server is suddenly running dog slow, and you need to remember the troubleshooting steps again. Bookmark this page for a ready reminder the next time you need to diagnose a slow server.

Get on "top" of it

Linux's top command provides a wealth of troubleshooting information, but you have to know what you're looking for. Reference this diagram as you go through the steps below:

top output

Read More →

 

Another round of updates for the new dashboard+charts UI

By Derek Bullet_white Posted in Features Bullet_white Comments Comments

Dashboards have exited beta - see our launch post for the details.

Thanks for your feedback on the first preview of our new charts UI. You spoke, we listened, we coded:

  • Resize + drag-and-drop your charts. Total control over how you view your key metrics.
  • Chart-specific settings to toggle either a range display or breakout display of your metrics. View min/avg/max of every metric.
  • A number of subtle UI enhancements for applied chart filters.

The UI formally known as Charts Beta is now Dashboards Beta

In our initial release of the UI, we referred to it as "Charts BETA". However, rather than just replacing charts, the new UI encompasses both charts+dashboard functionality. Going forward, we'll be referring to this as "Dashboards BETA".

URL change for Dashboards

We've changed the URLs for old-style dashboards in Scout. If you have a dashboard loaded on an external display, the URL now looks like this:

https://scoutapp.com/YOURACCOUNT/old_dashboards/ID

That's an "old"_ prefix before dashboards.

Your existing charts and dashboards will continue to function.

Will legacy charts and dashboards be supported?

We'll support existing charts + dashboards for the time being, but we do plan on deprecating the legacy functionality sometime in the future. Rest assured we'll communicate this timeline as it develops.

We've been using the new UI internally for a while and we can't imagine going back. We think this will be a transition you'll be excited about.

Feedback / Letters to the Editor / etc.

As always, your feedback drives Scout. Send your feedback to support@scoutapp.com.

 

Scout is NOT vulnerable to CVE-2014-0160 AKA Heartbleed

By Andre Bullet_white Comments Comments

All of Scout's infrastructure has been checked, and we have confirmed that Scout is not vulnerable to CVE-2014-0160.

 

Older posts: 1 ... 19 20 21 22 23 ... 68