I have a Centos 7 / MariaDB, 1gig DigitalOcean Droplet with 2 low traffic Wordpress sites on. When the server gets approx 15 concurrent users MySQL runs out of memory and drops. Log below:  180806 14:43:05 InnoDB: Fatal error: cannot allocate memory for the  buffer pool 180806 14:43:05 [ERROR] Plugin 'InnoDB' init function returned error. 180806 14:43:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 180806 14:43:05 [Note] Plugin 'FEEDBACK' is disabled. 180806 14:43:05 [ERROR] Unknown/unsupported storage engine: InnoDB 180806 14:43:05 [ERROR] Aborting  180806 14:43:05 [Note] /usr/libexec/mysqld: Shutdown complete   So my question here is, what can i do to stop MySQL from dropping, Apache stays up fine. So hoping some handy configuration tweaks will resolve this for me :)  Cheers all!
MySQL Seems to be crashing quite often, I'd say every hour or so.   The only thing running on this server that is using MySQL is a Drupal installation that I'm working on, there's only one person that's using it and it literally has around three pages - from what I can gather this seems to be a memory issue with innoDB? I'm not great at this stuff so I'm unsure.  Any guidance? Here's the relevant parts from my error.log  140216 14:20:01 [Note] Plugin 'FEDERATED' is disabled. 140216 14:20:01 InnoDB: The InnoDB memory heap is disabled 140216 14:20:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins 140216 14:20:01 InnoDB: Compressed tables use zlib 1.2.3.4 140216 14:20:01 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(135987200 bytes) failed; errno 12 140216 14:20:01 InnoDB: Completed initialization of buffer pool 140216 14:20:01 InnoDB: Fatal error: cannot allocate memory for the buffer pool 140216 14:20:01 [ERROR] Plugin 'InnoDB' init function returned error. 140216 14:20:01 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 140216 14:20:01 [ERROR] Unknown/unsupported storage engine: InnoDB 140216 14:20:01 [ERROR] Aborting  140216 14:20:01 [Note] /usr/sbin/mysqld: Shutdown complete  140216 14:20:02 [Note] Plugin 'FEDERATED' is disabled. 140216 14:20:02 InnoDB: The InnoDB memory heap is disabled 140216 14:20:02 InnoDB: Mutexes and rw_locks use GCC atomic builtins 140216 14:20:02 InnoDB: Compressed tables use zlib 1.2.3.4 140216 14:20:02 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(135987200 bytes) failed; errno 12 140216 14:20:02 InnoDB: Completed initialization of buffer pool 140216 14:20:02 InnoDB: Fatal error: cannot allocate memory for the buffer pool 140216 14:20:02 [ERROR] Plugin 'InnoDB' init function returned error. 140216 14:20:02 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 140216 14:20:02 [ERROR] Unknown/unsupported storage engine: InnoDB 140216 14:20:02 [ERROR] Aborting  140216 14:20:02 [Note] /usr/sbin/mysqld: Shutdown complete   EDIT The server is the lowest-spec DigitalOcean Droplet with 512MB RAM. This particular Droplet is running NodeJS, MySQL and Apache. There's a low-traffic static site, a Ghost blog and this Drupal site I'm developing.   Should I just upgrade the RAM, or is there something I can do to fix this?
ReaderWriterLockSlim vs. Monitor I have an IDictionary&lt;TKey,TValue&gt; implementation that internally holds n other Dictionary&lt;TKey, TValue&gt; and distributes that insertions by the HashCode of the key to the invidual sub-dictionaries. With 16 sub-dictionaries, the number of collisions is pretty low on a 4-core machine.  For parallel insertions, i locked the Add-method with a ReaderWriterLockSlim, locking only the individual sub-dictionary:    public void Add(TKey key, TValue value)         {             int poolIndex = GetPoolIndex(key);             this.locks[poolIndex].EnterWriteLock();             try             {                 this.pools[poolIndex].Add(key, value);             }             finally             {                 this.locks[poolIndex].ExitWriteLock();             }         }   When inserting items with four threads, i only got about 32% cpu usage and bad performance. So i replaced the ReaderWriterLockSlim by a Monitor (i.e., the lock keyword). CPU usage was now at nearly 100% and the performance was more than doubled.   My question is: Why did the CPU usage increase? The number of collisions should not have changed. What makes ReaderWriterLock.EnterWriteLock wait so many times? How to develop RPG Damage Formulas? I would like to know: How come that  $$\sum_{n=1}^\infty n x^n=\frac{x}{(x-1)^2}$$  Why isn't it infinity? Proving that the Intersection of any Collection of Compact Sets is Compact I was trying to do this problem this way:  Let $\mathcal{B}=\{B_i\}$ be a collection of compact sets. By Heine-Borel, each of the $B_i$'s are closed and bounded. We already know that the intersection of a collection of closed sets is once again closed, so $\cap \mathcal{B}$ is closed.  If I can prove $\cap\mathcal{B}$ is bounded as well, I can use Heine-Borel to say it is compact. So I was not sure how to show it was bounded, but a friend showed me his way of doing it. He did it the following way:  Let $b,a\in\mathbb{R}$ be an upper and lower bound for $B_1$, respectively. Since $\cap\mathcal{B}\subset B_1, a$ is a lower bound for $\cap \mathcal{B}$ and $b$ is an upper bound for $\cap\mathcal{B}$. Therefore, $\cap\mathcal{B}$ is bounded and then by Heine-Borel, it is compact.  My question is on the paragraph right above. I don't understand why what he did means that $a$ and $b$ are lower and upper bounds for $\cap\mathcal{B}.$ Can anyone explain why this is? Thanks. EDIT:  My question was poorly worded.   I wasn't asking about showing $\ln(1+x) &gt; \frac{2x}{2+x}$ for $x&gt;0$.   What I wanted to know is why the lower bound provided by $ \frac{2x}{2+x}$ was so tight for small positive values of $x$. This is addressed in robjohn's answer. SQL Delete clears the table instead of erroring How can I copy the contents of a folder to another folder in a different directory using terminal? I am trying to copy the contents of a folder to another folder in a different directory using terminal.  Would somebody be able to provide me an example of the command line syntax required to achieve this? Having recently switched to Google Chrome, I was wondering what files and directories I should be including in my backups to make sure that bookmarks and history are included.  Along the same lines, is there a process to restore these settings on a new install?  This is on Windows Vista. I want to communicate between several computers on my network (static Ethernet), through SSH. In order to do that I need to run ssh-add every time I log in on a specific machine, how can I do it so that it's set up once and it doesn't ask me for the passphrase every time I log in or reboot my machine?  I know that there is a way that you should add some lines to the bash_profile file, but I still need to type the password every time I reboot/log in to a specific machine.  if [ -z "$SSH_AUTH_SOCK" ] ; then     eval `ssh-agent -s`     ssh-add fi I'm trying to find an alternative to the standard tombstone qed symbol for more informal papers. I initially thought of an empty square with Pub written inside, but what would actually be better would be a small beer mug symbol. (much like the one found in this set of icons )  Unfortunately there doesn't seem to such a symbol in the comprehensive latex symbol list (although many funny symbols can be found there). Has anyone thought about this? Is there any quick-and-dirty solution? I can't execute newest Blender 2.80, it says that I need a graphics card that supports OpenGL 3.3 or higher ERROR: A graphics card and driver with support for OpenGL 3.3 or higher is required  Processor: AMD A6-3670 APU with Radeon(tm) HD Graphics, 2695MHz BIOS Version: HPQOEM - 1072009 Dedicated GPU:   This is a very old PC, but when I search online it seems that theoretically Blender 2.8 should run since my openGL is 4.4 I am trying to figure out how can I disable/hide the App Name in MacOS X Lion dock. I've also attached an image so you can see what I mean.    Someone has any idea about how can I hide that? How can I reinstall GRUB to the EFI partition? Why is torque not measured in Joules? Recently, I was doing my homework and I found out that Torque can be calculated using $\tau = rF$. This means the units of torque are Newton meters. Work &amp; Energy are also measured in Newton meters which are Joules.  However, torque isn't a measure of energy. I am really confused as why it isn't measured in Joules. Proof of linear independence of $e^{at}$ Given $\left\{ a_{i}\right\} _{i=0}^{n}\subset\mathbb{R}$ which are distinct, show that $\left\{ e^{a_{i}t}\right\} \subset C^{0}\left(\mathbb{R},\mathbb{R}\right)$,  form a linearly independent set of functions.   Any tips on how to go about this proof. I tried a working from the definition of an exponential and combining sums but that didn't seem to get me anywhere. I saw a tip on the internet that said write it in the form  $\mu_{1}e^{a_{1}t}+\dots+\mu_{n}e^{a_{n}t}=0$ to try to show $\mu_{1}=\dots=\mu_{n}=0$ considering each term of the left hand side must be positive, but I can't get my head around that because while I understand $e^{x}&gt;0\forall x\in\mathbb{R}$ I cannot see why $\mu_{i}$ must be positive in any case. I have thought about differentiating but that doesn't seem to help. The question did originally ask for a "rigourous" proof but I'll take any hints right now and the provided the solution of 'is obvious' is most unhelpful to me.  Any input would be fantastic. Thank you. vertical alignment of text in tikz node The output from the following script \documentclass{article} \usepackage{tikz} \usepackage{graphicx} \begin{document} \begin{tikzpicture}   \node(title)[text width = 0.25\textwidth, text height = 3 cm, draw]{title};   \end{tikzpicture} \end{document}  is  How can I vertically align the text in the node? Specifying the text depth as in \node(title)[text width = 0.25\textwidth, text height = 1cm, text depth = 1 cm, draw]{     title line 1\\     title line 2\\     title line 3};  Does not result in the text being vertically centred. Remove HTML Tags from an NSString on the iPhone There are a couple of different ways to remove HTML tags from an NSString in Cocoa.   is to render the string into an NSAttributedString and then grab the rendered text.   is to use NSXMLDocument's -objectByApplyingXSLTString method to apply an XSLT transform that does it.  Unfortunately, the iPhone doesn't support NSAttributedString or NSXMLDocument. There are too many edge cases and malformed HTML documents for me to feel comfortable using regex or NSScanner. Does anyone have a solution to this?  One suggestion has been to simply look for opening and closing tag characters, this method won't work except for very trivial cases.   For example these cases (from the Perl Cookbook chapter on the same subject) would break this method:  &lt;IMG SRC = "foo.gif" ALT = "A &gt; B"&gt;  &lt;!-- &lt;A comment&gt; --&gt;  &lt;script&gt;if (a&lt;b &amp;&amp; a&gt;c)&lt;/script&gt;  &lt;![INCLUDE CDATA [ &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ]]&gt; Why are my SVG imports so small? Coordinating conjunction immediately followed by parenthetical — Is a comma needed or not? states:     If a dependent clause, or an introductory phrase requiring to be set off by a comma, precedes the second independent clause, no comma is needed after the conjunction.   Strunk's example illustrates the point:     The situation is perilous, but if we are prepared to act promptly, there is still one chance of escape.   However, I would be tempted to put a comma after the "but," like this:     The situation is perilous, but, if we are prepared to act promptly, there is still one chance of escape.   So, I know you're thinking, "Well, Strunk's Rules of Usage says that you're wrong. No comma."   But is Rules of Usage really the best source? I'd like to see this rule in a more contemporary and authoritative source, like the Chicago Manual of Style.  There are many instances —  — where the comma is included before a parenthetical comment that comes after a coordinating conjunction.  Any authoritative source on the issue? When an account is deleted, don't auto delete its negatively scored posts on the meta site Meta is different. Negatively scored questions are not always bad questions, and sometimes they have merit and draw good answers, especially discussions.  When an account (in the main site) is deleted, either by self deletion or by a moderator, all questions with score of -1 or less are being deleted regardless of their answers, both in the main and meta site.  Can you please change this behavior so that the questions on the per-site meta will survive and won't be auto-deleted?