Huge page support on GCE - google-compute-engine

I'm running a JBOSS application that we have successfully configured use Huge Pages/Large Pages on with other cloud platforms other than GCE. But I'm having problems on GCE. I'm seeing the error:
Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve large pages memory req_addr: 0x00000005f0000000 bytes: 8858370048 (errno = 12).
when I start the JVM. These are running on Ubuntu 14.04 based systems, they have been configured just like similar systems we have huge pages working before, so I'm wondering if there is some settings on virtual machine level that aren't set correct to allow large pages to work. Anyone have any suggestions?

I just wasn't allocating enough huge pages to handle the amount of heap I was configured for the JVM. So there isn't a problem in GCE.

Related

Magento and mySQL on different server

I need to configure Magento 2.4.5 on RHEL. I need recommendation/best practices for below:
Should I go with RHEL 8.6 or 9.0? Don't want to go with Ubuntu or CentOS.
Should I host the database on a separate server, rather than running the database server and the
web server on the same machine?
What should be the minimum VM configuration in terms of RAM, processor, disk and cache for
Magento and mySQL. Considering the load on website can be around 3K users during peak time.
Regards,
Rajesh

Container Optimized System performance

I am doing some load tests and according to my observations seems the cos-stable machine underperforms a normal linux machine.
I have started up the cos-stable machine with a container running node-alpine linux with a js application and execute a load test, then I did the same using an ubuntu machine, installing the node on it to run the same js application.
Both OS' were using the same resources, n1 machines with 2vcpu, 8Gram and 10G SSD disk.
Does anyone have information about how to tune the cos-stable container to have the same performance as I had in the ubuntu machine?
Thanks.
well according to the comment of this user in the docker forum
I have to agree with the others, I always use official images if I can and I always select the Alpine version if available. Why use Alpine? Two reasons:
Much small images. Ubuntu is 188MB alone. Then you add your app on top
of that probably exceeding 200MB. Alpine Linux is only 4MB! After
adding my Python runtime and code most of my images are only 52MB.
Compare that will almost 200MB of Ubuntu. Smaller images are smaller
upload/download and take up less disk space.
In adding to that, if you are running the same application in both machines with different OS you have to consider pros and cons of using that OS
if you want to customize your Container Optimized OS VM creation you can follow the instructions in this link
I hope this information can be useful.

possibility of having 2 mercurial servers, using the same database

I have a Mercurial server on a simple server (Virtual Machine (VM)), and about 100 users with access. And from time to time, requests have been slow.
And since I can not change the hardware of this server, because the VM server no longer has available resources, and migrating it would do a great job.
I would like to know it is possible to have 2 mercurial servers, using the same database, because this would balance the load, and in one server would put a large team, and in the other the other teams. In short, I can not mess with the server you're on today.
VM:
Windows Server 2003 SP2
1.5GB Memory
60GB HD
Settings:
Python 2.7.2
Mercurial 2.5.4
RhodeCode 1.6.0rc1
Note:
Sorry if you're confused, this question was translated via google. If you can edit and rearrange it, I'll be very grateful.
This is certainly possible. If you have shares storage RhodeCode can use the same DB and load-balance load between machines.
Btw, 1.6.0 is very old I'd take a chance at upgrading this.

MySQL Notifier High Cpu Load

I'm using Windows 10 and latest MySQL version Community Edition, configured as development machine. Recently when I was playing game, I've discovered that I have FPS drops every few seconds (about 5), overall system slow down, and high CPU usage spikes. After long investigation using Process Explorer, TaskMgr, then manually disabling services and startup applications, I've found that it is caused by MySQL Notifier, which causes services.exe to use high cpu usage about 20-50% of CPU. Workaround is to disable MySQL Notifier in Startup Management in Windows 10.
Why this happen, and how to fix it? Reinstallation didn't solve issue.
Does anyone have same problem?
No application options appear to stop this issue. Only option so far is to disable/close MySQL Notifier
Process Hacker showing services.exe
The Startup Management in Windows 10 is found my loading up Task Manager, and switching to the Start-up tab. From there you can locate MySQL Notified and change its status to Disabled.

Python3: How do I get a warning that server memory is running out?

I'm writing a program that manages data entered by users. I plan to open a test version to the public and have no idea how many users there may be.
I want my program to test when memory is getting low so that I know when to buy more server space and so that I can automatically restrict data entry when necessary. What's a good way to detect memory shortage? Allocate garbage space temporarily to get the exception? Is there a better way?
This may be best accomplished outside of your application using a performance monitoring tool. Windows Server can be configured to do this for you; see this question. There are other tools out there that help you monitor your servers, and I advise you to use an existing system unless you absolutely have to do this with Python.
If you must absolutely do this using Python, then have a look at the psutil library:
psutil (python system and process utilities) is a cross-platform
library for retrieving information on running processes and system
utilization (CPU, memory, disks, network) in Python. It is useful
mainly for system monitoring, profiling and limiting process resources
and management of running processes. It implements many
functionalities offered by command line tools such as: ps, top, lsof,
netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop,
uptime, pidof, tty, taskset, pmap. It currently supports Linux,
Windows, OSX, FreeBSD and Sun Solaris, both 32-bit and 64-bit
architectures, with Python versions from 2.4 to 3.4. Pypi is also
known to work.
You may combine this with the email package to send the alerts.